我有一個查詢我的MySQL數據庫,但我只是想知道如果有更多的完成一件事情的一個簡單的方法更有效的方式,這是我的代碼:是否有表達這個查詢
$sql="SELECT value
FROM drivers
WHERE drivers_id = '$driver1' OR drivers_id = '$driver2' OR drivers_id = '$driver3'";
$result = mysql_query($sql);
$i = 1;
while ($row = mysql_fetch_assoc($result)) {
${'value'.$i} = $row['value'];
$i++;
}
這就是我想要的代碼,因爲它比較短,但是我遇到的問題是我需要知道,在數據庫中找到$ driver1變量的位置,檢索到的數據位於value1變量中, $ driver2的檢索信息放在$ value2中。但是它會按照匹配的順序從數據庫中獲取數據。我不想爲此寫3個不同的查詢,因爲我確信它可以在一箇中完成。
這聽起來像你需要你的匹配以某種方式排序。訂單的條件是什麼? –
這並不能解決你的問題,但是你可以使用'SELECT value FROM drivers WHERE drivers_id IN($ driver1,$ driver2,$ driver3)'而不是所有的'OR's。 – Vache