关于以下为什么会引发参数错误的任何想法。我已经查看了关于 SO 的所有其他答案,但无论如何我都以与那些解决方案相同的方式来解决这个问题,但这似乎仍然不起作用。将应用程序从 adodb 切换到 pdo。
$possible_keys = implode( ",", $possible_keys_array );
sql片段
WHERE
FIND_IN_SET(table.key,:possible_keys)
$STH = $DBH->prepare( $sql );
$STH->execute( array( $possible_keys ) );
$STH->setFetchMode( PDO::FETCH_ASSOC );
我只放了代码的快照。但是,如果我将 :possible_keys 占位符替换为 possible_keys 变量的实际文本,则一切正常。我正在为为什么这不起作用,因为变量只是一个字符串而摸不着头脑。它不断抛出以下错误:
SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
ps 我只包含了被证明是问题的子句,而不是整个查询。我知道其余的都很好。