【发布时间】:2022-01-26 19:55:27
【问题描述】:
在这种情况下执行 sql 查询的正确方法是什么。例如:唯一的问题是有时他们可能不会选择卧室,所以我们需要拉起所有卧室,有时我们只需要拉起 3 间卧室。所以卧室有时是空的。
$bedroom = $_REQUEST['bedroom'];
SELECT * FROM apartments WHERE bedrooms = '$bedroom'
【问题讨论】:
在这种情况下执行 sql 查询的正确方法是什么。例如:唯一的问题是有时他们可能不会选择卧室,所以我们需要拉起所有卧室,有时我们只需要拉起 3 间卧室。所以卧室有时是空的。
$bedroom = $_REQUEST['bedroom'];
SELECT * FROM apartments WHERE bedrooms = '$bedroom'
【问题讨论】:
SELECT * FROM apartments WHERE ('$bedroom' = '' OR bedrooms = '$bedroom')
请注意,您也不应该将变量直接替换到查询中,您应该使用带参数的预准备语句。见How can I prevent SQL injection in PHP?。所以实际上应该是:
SELECT * FROM apartments WHERE ('$bedroom' = ? OR bedrooms = ?)
【讨论】: