我有使用PDO一个小应用程序运行和服务器的迁移和PHP升级后,我现在收到以下错误服务器的迁移和/或PHP之后PDO查询错误升级
Warning: PDO::query(): SQLSTATE[HY000]: General error: mode must be an integer in var/www/xxxxxxxx
它所引用的行
$statement = $this->_connection->Query("SELECT * FROM table WHERE SOMECOL = '$col' LIMIT 1", $this->_connection);
我一直在环顾谷歌一段时间,似乎没有任何修复。我尝试使用$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
设置默认fetchmode,但错误不会改变。
欣赏他们帮助:)
删除第二个'$ this - > _ connection'参数,阅读['PDO :: query()'](http://php.net/manual/en/pdo.query.php)的参数列表 - 你会发现将连接对象传递给第二个参数是没有意义的。它看起来像你可能从ext/mysql迁移过来的,这种将连接传递给数据库调用的机制不再需要PDO。还请了解[预备报表](http://www.php.net/manual/en/pdo.prepared-statements.php)。 – DaveRandom 2013-04-24 08:49:18
当_connection生成时,我认为错误模式被设置为非法值。你能检查一下吗? – silkfire 2013-04-24 08:49:31
您是否还可以提供方法Query()的源代码副本;因为没有人可以说出实现是什么......即$ this - > _ connection-> Query($ query,$ connection) – 2013-04-24 08:50:09