【发布时间】:2014-09-20 09:11:45
【问题描述】:
我想使用带有 mysql pdo 的“where in”子句运行一个简单的选择查询。
$start = 12; $end = 14;
for($i=$start; $i<=$end;$i++)
{
$limitin[] = array($qstep,$i);
}
数组是
Array
(
[0] => Array
(
[0] => 3
[1] => 12
)
[1] => Array
(
[0] => 3
[1] => 13
)
[2] => Array
(
[0] => 3
[1] => 14
)
)
然后
$questionmarks = str_repeat("?,", count($limitin)-1) . "?";
查询是
$getans = $this->db->prepare("SELECT *
FROM answers
WHERE qstep = ?
and ansid in ($questionmarks) ");
$getans->execute($limitin); //$limitin is the array.
我得到一个空白结果集和一个通知,即“通知:数组到字符串的转换”
【问题讨论】:
-
试试这个,我想它已经问过了Where in With PDO
-
谢谢,我现在就试试。
-
获取无效参数号:混合,因为我也有 qstep
-
您要插入的是什么,向我们展示一个示例,说明是什么为您的
IN生成了值 -
另外,在打开连接后立即添加
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);,看看它是否产生任何东西。