无法理解什么是错的。
我使用: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."
答案 0 :(得分:4)
您会看到此行为,因为您实际上并未执行查询。在PDO::prepare
之后,您应该致电PDOStatement::execute
。因此,以下代码将返回结果:
$st = $connect->prepare("SELECT 1")
->execute()
->fetchAll();