有什么办法可以做到这样的事情吗?给$变量一个默认值以使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中的变量将包含要过滤的值,但如果用户没有填充输入,变量将具有默认值。 –