errorInfo()[2],PHP 5.3中意外的'['?

时间:2014-10-26 18:25:37

标签: php pdo

这个简单的行

$prep = $this->pdo->prepare($sql) or common::error("PDO prepare error: ".$prep->errorInfo()[2]);

正在使用PHP 5.5,但在PHP5.3上失败(即使PHP文档说PDOStatement :: errorInfo在php 5.1+上返回一个数组)说:

  

解析错误:语法错误,意外'['in ...

我在我的应用程序中多次使用它,很遗憾我无法在此计算机上更新PHP版本。任何解决方法?

1 个答案:

答案 0 :(得分:5)

将其分解为两个步骤:

$error = $prep->errorInfo();
$error_msg = $error[2];

$prep = $this->pdo->prepare($sql) or common::error("PDO prepare error: ".$error_msg);

仅供参考,这称为阵列解除引用,并在PHP 5.4中可用。