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

the*_*uts 0 php pdo

这条简单的路线

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

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

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

我在我的应用程序中多次使用它,不幸的是我无法在这台机器上更新PHP版本.任何解决方法?

Joh*_*nde 5

把它分成两步:

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

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

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