我可以使用以下代码在PDO准备语句内成功实现IN子句。MYSQL - 具有多个IN子句的PDO
in_array = array(1,2,3);
$in = str_repeat('?,', count($in_array) - 1) . '?';
$sql = "SELECT * FROM my_table WHERE my_value IN ($in)";
$stm = $db->prepare($sql);
$stm->execute($in_array);
$data = $stm->fetchAll();
我该怎么做多个$ in?例如,我已经失败尝试了以下内容:
in_array1 = array(1,2,3);
$in1 = str_repeat('?,', count($in_array) - 1) . '?';
in_array2 = array(4,5,1);
$in2 = str_repeat('?,', count($in_array) - 1) . '?';
$sql = "SELECT * FROM my_table WHERE (my_value1 IN ($in1)) AND (my_value2 IN ($in2))";
$stm = $db->prepare($sql);
$stm->execute($in_array1,$in_array2);
$data = $stm->fetchAll();
我认为它必须做与STM->执行,但不能肯定,帮助表示赞赏
'执行()'需要** ** 1的参数,这是参数... – Rizier123