Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 查询中PDO和MySQL的正确格式_Php_Mysql_Pdo - Fatal编程技术网

Php 查询中PDO和MySQL的正确格式

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

出于显而易见的原因,这是一场谋杀

如何在PDO中执行此操作:

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)我可以走了,对吗?(目前无法测试,所以我在问)