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

时间:2016-09-04 16:06:43

标签: php postgresql pdo vagrant

无法理解什么是错的。
我使用:vagrant 1.8.5; postgresql 9.3.14; PHP 5.5.9(但也尝试7.0)
流浪机:ubuntu/trusty64,php和utils来自:ppa:ondrej/php

一切似乎都没问题,但查询结果 测试代码:

$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();

结果:

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

1 个答案:

答案 0 :(得分:4)

您会看到此行为,因为您实际上并未执行查询。在PDO::prepare之后,您应该致电PDOStatement::execute。因此,以下代码将返回结果:

$st = $connect->prepare("SELECT 1")
              ->execute()
              ->fetchAll();
相关问题