SELECT execute([])解析错误:语法错误,出现意外的“ [”,期望“)”

时间:2019-07-29 04:36:02

标签: php pdo

我在PDO的execute()中添加[]这个符号,它返回错误。

我正在使用WAMP5

 $sqlStatement="
  SELECT * 
  FROM $table_results 
  WHERE title = ? AND id_category = ?
  ";    

   $stmt = $bdConection->prepare($sqlStatement);
   $stmt->execute([$title, $id_category]);
   echo $stmt->rowCount();

如果我删除WHERE title = ? AND id_category = ?并且[$title, $id_category] bur返回更多结果,而不是添加那些结果,则效果很好...然后 返回:

  

解析错误:语法错误,出现意外的[[,期望为')'

1 个答案:

答案 0 :(得分:0)

我可以使用PHP 5.2重现此错误。有关PHP数组syntax状态的文档:

  

...从PHP 5.4开始,您还可以使用短数组语法,即   用[]替换array()。 ...

您可以使用的情况是使用array()定义一个数组:

<?php

$sqlStatement = "
  SELECT * 
  FROM $table_results 
  WHERE title = ? AND id_category = ?
";    

...
$stmt = $bdConection->prepare($sqlStatement);
$stmt->execute(array($title, $id_category));
echo $stmt->rowCount();
...

?>