假设我有一个表单,其中有 30 个与音乐流派相对应的复选框(它提交给 PHP 表单处理程序)。
我有一个艺术家表,其中有一个流派字段。构建具有以下行为的查询的最佳实践是什么:
从艺术家中选择名称,其中genreid = 1 ORgenreId = 2 OR。 。 。等等。从复选框中选择genreId。
我知道我可以在 PHP 中动态构建 WHERE 子句,但我习惯使用准备好的语句和存储过程。我应该怎么办?
您可能想使用IN()
在你的 where 子句中,如下所示:
WHERE genreId IN (1,2,3)
不幸的是,确实没有一个好的解决方案以参数化的方式使用它。你只需要走老路:
$query = 'SELECT ... WHERE genreId IN (' . implode(',', $genreId_array) . ')';
我想虽然你可以做这样的事情来构建参数化方法:
$query = 'SELECT ... WHERE genreId IN (';
$array_length = count($genreId_array);
for ($i = 0; $i < $array_length; $i++) {
$query .= '?,';
}
$query = rtrim(',',$query) . ')';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)