有什麼辦法可以做到這樣的事情嗎?給$變量一個默認值以使mysql返回所有行?mysql其中列=所有可能的值
SELECT * FROM table WHERE column = ?;
bind_param('i', $variable);
它並不像愚蠢的,因爲它的聲音...我需要根據用戶輸入過濾內容,所以如果用戶不填寫輸入/選擇值將ALL
(或正確答案)。我不想在prepare()
內打印php變量,或者將默認變量設置爲所有可能的值。什麼是正確的方法來做到這一點?
我其實這樣做:
if ($stmt = $mysqli->prepare(' SELECT t1.id, t2.*
FROM ' . $table . ' t1
INNER JOIN property t2 ON t2.id = t1.id
WHERE t2.use = ?
' . $city_cond
. $zone_cond . '
LIMIT ?, ?'))
但是,如果有任何方法與bind_param()
和聲明的默認值做到這一點我不希望打印內部prepare()
所以我問。
'SELECT * FROM table',它選擇所有列已經 – Andrew
爲什麼不直接使用'SELECT * FROM table'? –
很抱歉,如果解釋不清楚。 bind_param中的變量將包含要過濾的值,但如果用戶沒有填充輸入,變量將具有默認值。 –