dongnuoyi8833 2016-09-04 16:06
浏览 17
已采纳

PDO postgres不会为所有查询返回任何内容

Cannot understand what's wrong.
I use: vagrant 1.8.5; postgresql 9.3.14; PHP 5.5.9 (but also trying 7.0)
Vagrant machine: ubuntu/trusty64, php and utils from here: ppa:ondrej/php

All seems OK but query results.
Test code:

$connect = new PDO('pgsql:dbname=template1;host=localhost', 'postgres', 'postgres');

$st = $connect->prepare("SELECT 1")->fetchAll();
var_dump($st);
var_dump( $connect->getAttribute(PDO::ATTR_CONNECTION_STATUS) );
exit();

result:

array(0) { } string(31) "Connection OK; waiting to send."
  • 写回答

1条回答 默认 最新

  • douchuitang0331 2016-09-04 16:12
    关注

    You see this behaviour because you don't actually execute the query. After PDO::prepare you should call PDOStatement::execute. So the following code will return the result:

    $st = $connect->prepare("SELECT 1")
                  ->execute()
                  ->fetchAll();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?