2012-03-14 116 views
1

我很新的PHP和Postgresql。当我试图从数据库中检索数据时,查询似乎总是返回一个FALSE值。这里是我的代码:php pg_query不工作?

$dbconn = pg_connect("host=localhost port=5432 dbname=mydb user=user password=user") 
if(!$dbconn) { 
    echo "Not connected!"; 
} 
$sql = 'SELECT * FROM "mytable"'; 
$query = pg_query($dbconn,$sql); 
if(!$query) { 
    echo "There is an error!"; 
    echo pg_last_error($dbconn); 
} 

由于“未连接!”没有打印出来,我很确定我的连接是正确的。但是,“有错误!”打印出来,但pg_last_error()给我一个空字符串。

是否有一个空字符串传回的原因,还有其他方法来检索错误消息吗?非常感谢!

回答

2

一切似乎是正确的,所以我会做到以下几点:

  1. 确保“MYTABLE”的存在,并连接到数据库后,有一些数据
  2. 换个pg_error:

例如

$dbconn = pg_connect("host=localhost port=5432 dbname=mydb user=user password=user"); 
var_dump($dbconn); // will it print "resource"? 
echo pg_last_error($dbconn); 
1

可以尝试改变:

$sql = 'SELECT * FROM "mytable"'; 

通过

$sql = "SELECT * FROM mytable"; 

应该解决您的问题