douling0053 2013-04-24 08:45
浏览 60
已采纳

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

I have a small app running using PDO and after a server migration and PHP upgrade I'm now getting the following error

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

The line it references is

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

I've been looking around google for awhile and there doesn't seem to be any fix. I've tried setting the default fetchmode using $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); but the error doesn't change.

Appreciate they help :)

  • 写回答

2条回答 默认 最新

  • dongzhong5967 2013-04-24 08:50
    关注

    Sending $this->_connection as a parameter there is wrong and not expected by PDO Query

    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 )

    That second parameter, if it is there, has to be an int

    Source: PHP Manual

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?