2012-03-14 61 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"; 

應該解決您的問題