我已经在我的ubuntu(linux mint)上安装了php5和php5-pgsql。我无法在php脚本中获得查询结果:
$db = pg_connect("host=localhost port=5432 dbname=test user=user")
or die("Could not connect: test db\n");
$part = $db->query("SELECT * FROM app_settings");
此查询正常,在pg_admin中运行,所有数据库连接属性都正确!
但我收到了这个错误:
PHP Fatal error: Call to a member function pg_query() on a non-object in
问题是什么,请帮忙!
答案 0 :(得分:1)
您正在混合pg_ *函数和PDO。 pg_connect()
不返回对象,它返回一个连接资源供以后在pg_query()
中使用。你可以这样做:
$res = pg_connect(...);
$result = pg_query($res, "SQL query"); // where $res is optional if you only use one connection at a time
while ($row = pg_fetch_row($result)) {
// ...
}
或您使用PDO
$db = new PDO("...");
$db->query("SQL query");
// ...
答案 1 :(得分:0)
尝试在PHP.ini文件中启用pgsql
在扩展程序
中添加此行extension=pgsql.so
更新
不确定是对的。那这个呢。
$db = pg_connect("host=localhost port=5432 dbname=test user=user")
or die("Could not connect: test db\n");
$part = pg_query($db, "SELECT * FROM app_settings");
while ($row = pg_fetch_array($part)) {
//do stuff
}