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

MySQL Prepared具有可变大小变量列表的语句

MySQL Prepared具有可变大小变量列表的语句

慕仙森 2019-08-05 14:44:54
MySQL Prepared具有可变大小变量列表的语句你会如何在PHP中编写一个准备好的MySQL语句,每次都需要不同数量的参数?这种查询的一个例子是:SELECT `age`, `name` FROM `people` WHERE id IN (12, 45, 65, 33)该IN子句id每次运行时都会有不同数量的s。我脑子里有两种可能的解决方案,但想看看是否有更好的方法。可能的解决方案1使语句接受100个变量,并使用保证不在表中的虚拟值填充其余变量; 多次调用超过100个值。可能的解决方案2不要使用准备好的声明; 构建并运行查询严格检查可能的注入攻击。
查看完整描述

3 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

体面的SQL包装器支持绑定到数组值。即


$sql = "... WHERE id IN (?)";

$values = array(1, 2, 3, 4);

$result = $dbw -> prepare ($sql, $values) -> execute ();


查看完整回答
反对 回复 2019-08-05
  • 3 回答
  • 0 关注
  • 393 浏览
慕课专栏
更多

添加回答

举报

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