大家好我有这个问题:
$URLA=implode("','",$Array);
$Data=$connection->prepare("SELECT Category,ID FROM SITES WHERE URL IN('".$Array."') AND Email=:Email ORDER BY Category DESC");
$Data->bindValue(':URL', $URL);
$Data->bindValue(':Email', $Email);
$Data->execute();
此代码提供此错误: 未捕获的PDOException:SQLSTATE [HY093]:参数号无效:绑定变量数与令牌数不匹配。 我怎么解决这个问题? 请注意,Array是一个来自while循环的变量。并且包含更多的一个变量。 我尝试像这样绑定这个数组:
$Data->bindValue(':Array', $Array);
但这并没有奏效:'(
答案 0 :(得分:0)
在您mentioned时,您的数组看起来像array(1,2,'ABC');
,
试试这个
$URLA= implode("', '", $array); # wrapping with single quote
$Data=$connection->prepare("SELECT Category,ID FROM SITES WHERE URL IN(".$URLA.") AND Email=:Email ORDER BY Category DESC");
// $Data->bindValue(':URL', $URL); Seems no longer needed.
$Data->bindValue(':Email', $Email);
或者
$URLA= implode("', '", $array); # wrapping with single quote
$Data=$connection->prepare("SELECT Category,ID FROM SITES WHERE URL IN(:url) AND Email=:Email ORDER BY Category DESC");
$Data->bindValue(':URL', $URLA);
$Data->bindValue(':Email', $Email);