这个简单的行
$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版本。任何解决方法?
答案 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中可用。