這是我的表單中的$ _POST數組。
Array ([prescribedid] => Array ([0] => 1 [1] => 2 [2] => 3 [3] => 9 [4] => 13)
我想爲Array中的任何項創建一個select。我已經寫了這個,它產生了正確的SELECT,但是if()消除了尾隨OR使它變得笨重。
$query = "SELECT * ";
$query .= "FROM prescribed WHERE ";
for($i=0; $i<count($_POST["prescribedid"]); $i++) {
$query .= "prescribedid={$_POST['prescribedid'][$i]} ";
if($i < (count($_POST["prescribedid"])-1)) {
$query .= "OR ";
}
}
它產生這樣的:
SELECT * FROM prescribed WHERE prescribedid=1 OR prescribedid=2 OR prescribedid=3 OR prescribedid=9 OR prescribedid=13
是否有另一種方式來組選擇或寫FOR()使它更清潔,即沒有最後IF()。
'提示:'您可以依次用'IN'避免多次'或'條款。 '...在指定的地方(1,2,3,9,13)....' – 1000111
'提示:'您需要使用PDO或vaidate輸入。此代碼可用於SQL注入。 – ineersa