Php 查询中PDO和MySQL的正确格式
出于显而易见的原因,这是一场谋杀 如何在PDO中执行此操作:Php 查询中PDO和MySQL的正确格式,php,mysql,pdo,Php,Mysql,Pdo,出于显而易见的原因,这是一场谋杀 如何在PDO中执行此操作: SELECT thing FROM things WHERE thing_uid IN ( ... ) 我的特殊用例是一个字符串,它是通过分解从一个带有几十个复选框的表单中提取的数组来构建的。在标准MySQL中,这非常简单 $thingString = implode("', '", $thingArray); $q = "SELECT thing FROM things WHERE thing_uid IN ('$thingStr
SELECT thing FROM things WHERE thing_uid IN ( ... )
我的特殊用例是一个字符串,它是通过分解从一个带有几十个复选框的表单中提取的数组来构建的。在标准MySQL中,这非常简单
$thingString = implode("', '", $thingArray);
$q = "SELECT thing FROM things WHERE thing_uid IN ('$thingString')";
但我想从PDO的防注射保护中获益。。。绑定参数等等。那么我该怎么做呢?创建一个包含尽可能多的
?
值的数组,并将其放入查询中
$placeholders = array_fill(0, count($thingArray), '?');
$sql = "SELECT thing FROM things WHERE thing_uid IN (" . implode(',', $placeholders) . ")";
@Kris这个问题没有提到绑定表名。这是关于在
in()
querys.kris中有一个可变数量的占位符。你不知道我在说什么,也可以使用占位符,所以我用占位符准备好了吗?数量等于我的参数,然后执行($thingArray)代码>我可以走了,对吗?(目前无法测试,所以我在问)