相关疑难解决方法(0)

PHP - 将PDO与IN子句数组一起使用

我正在使用PDO执行一个带有IN子句的语句,该子句使用数组作为它的值:

$in_array = array(1, 2, 3);
$in_values = implode(',', $in_array);
$my_result = $wbdb->prepare("SELECT * FROM my_table WHERE my_value IN (".$in_values.")");
$my_result->execute();
$my_results = $my_result->fetchAll();
Run Code Online (Sandbox Code Playgroud)


上面的代码完全正常,但我的问题是为什么这不是:

 $in_array = array(1, 2, 3);
    $in_values = implode(',', $in_array);
    $my_result = $wbdb->prepare("SELECT * FROM my_table WHERE my_value IN (:in_values)");
    $my_result->execute(array(':in_values' => $in_values));
    $my_results = $my_result->fetchAll();
Run Code Online (Sandbox Code Playgroud)

此代码将返回my_value等于$in_array(1)中第一项的项,但不返回数组中的其余项(2和3).

php mysql pdo prepared-statement in-clause

60
推荐指数
3
解决办法
5万
查看次数

标签 统计

in-clause ×1

mysql ×1

pdo ×1

php ×1

prepared-statement ×1