为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 将条件附加到准备好的语句

PHP 将条件附加到准备好的语句

PHP
波斯汪 2022-07-22 09:24:43
我正在尝试使用准备好的语句来搜索一个我不知道需要搜索多少个参数的数据库。因此,以下示例检查列“标题”是否包含两个变量$stmt = $con->prepare("SELECT title FROM news WHERE title LIKE %?% AND title LIKE %?%");如果我想检查第三个变量怎么办。我可以附加到准备好的语句吗?到目前为止,我唯一的解决方案如下,这太可怕了,因为我不知道最大变量数。$no_of_variables = 3;if($no_of_variables == 1){    $stmt = $con->prepare("SELECT title FROM news WHERE title LIKE %?%");} else if($no_of_variables == 2){    $stmt = $con->prepare("SELECT title FROM news WHERE title LIKE %?% AND title LIKE %?%");} else if($no_of_variables == 3){    //etc}如果可能的话,我将不胜感激使用准备好的陈述的更好方法。谢谢
查看完整描述

1 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

通过重复条件-次来构造准备好的语句$no_of_variables:


$where = implode(" AND ", array_fill(0, $no_of_variables, "title LIKE %?%"));

$stmt = $con->prepare("SELECT title FROM news WHERE {$where}");


查看完整回答
反对 回复 2022-07-22
  • 1 回答
  • 0 关注
  • 68 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信