服务器迁移和/或PHP升级后的PDO查询错误

Jos*_*ned 3 php pdo

我有一个使用PDO运行的小应用程序,在服务器迁移和PHP升级后,我现在收到以下错误

Warning: PDO::query(): SQLSTATE[HY000]: General error: mode must be an integer in var/www/xxxxxxxx
Run Code Online (Sandbox Code Playgroud)

它引用的行是

$statement = $this->_connection->Query("SELECT * FROM table WHERE SOMECOL = '$col' LIMIT 1", $this->_connection);
Run Code Online (Sandbox Code Playgroud)

我一直在寻找谷歌一段时间,似乎没有任何修复.我已经尝试使用默认的fetchmode,$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);但错误没有改变.

感谢他们的帮助:)

Han*_*nky 5

$this->_connection作为参数发送有错误,PDO查询不期望

PDOStatement PDO :: query(string $ statement)

PDOStatement PDO :: query(string $ statement,int $ PDO :: FETCH_COLUMN,int $ colno)

PDOStatement PDO :: query(string $ statement,int $ PDO :: FETCH_CLASS,string $ classname,array $ ctorargs)

PDOStatement PDO :: query(string $ statement,int $ PDO :: FETCH_INTO,object $ object)

第二个参数,如果它在那里,必须是一个 int

来源:PHP手册