我最难让 PHP 与 Postgres SQL 对话。这是我的设置:
Ubunu 桌面 13.10
PHP 5.5.3
Postgres 9.1.10
Apache 2.4.6
Netbeans 7.4 和 xdebug
一切正常。我可以从命令行很好地输入和检索 Postgres 数据库中的数据,但不能在 PHP 中输入和检索数据。以下是我用来连接的代码行:
$dbConn = new softwareDB('localhost', 'postgres', 'root', 'softwareuitest');
...
$results = $dbConn.getClients();
while($client = pg_fetch_result($results)){
echo '<option value=\"'.$client.'\">'.$client.'</option>';
}
softwareDB类构造函数如下:
Class softwareDB {
private $conn;
function _construct($host, $user, $password, $dbname) {
$connectString =
'host=' . $host .
' port=5432' .
' user=' . $user .
' password=' . $password .
' dbname' . $dbname;
$this->conn = pg_connect($connectString);
}
...
public function getClients() {
global $conn;
return pg_query($conn,'getClients','SELECT * FROM clients');
}
...
}
运行代码时没有任何反应......我在 Apache 日志文件中什么都看不到,在 postgres 日志中什么也看不到,调试器中什么也看不到,输出中只有 HTML(没有查询数据)。
我还不能发布图片,但这里是来自 phpInfo() 的 Postgres 的详细信息:
PDO
PDO 驱动程序 | pgsql
pdo_pgsql
版本 9.1.9
模块 1.0.2
修订版 $id$
pgsql
PostgreSQL(libpq) | x86_64-unknown-linux-gnu 上的 PostgreSQL 9.1.9,由 gcc (Ubuntu/Linaro 4.8.1-10ubuntu1) 4.8.1 编译,64 位 allow_persistent 开启