2010-02-08 81 views
1

我試圖將我的PHP頁面連接到PostgreSQL,但它不工作。我曾嘗試下面給出的代碼:連接PHP和PostgreSQL8.3

<?php 

$connection = pg_connect("host=localhost dbname=mydb user=postgres password=pgsql"); 

if (!$connection) 
{ 
    echo "Couldn't make a connection!"; 
} 

?> 

在安裝時,系統要求我輸入密碼,我不得不給出的pgsql。我的數據庫名稱是「mydb」。有人請幫助我。

感謝和問候。

tismon

+0

@tismon;你有什麼錯誤信息嗎? – RageZ 2010-02-08 08:40:58

+1

數據庫連接失敗應導致PHP警告並顯示錯誤消息。如果它沒有打印在頁面上,請檢查您的錯誤日誌並在此處發佈錯誤消息。 – 2010-02-08 08:41:07

回答

1

我建議你到了什麼錯誤

if(!$connection){ 
die(pg_last_error($connection)); 
} 
+0

我沒有得到任何錯誤消息,即使它不打印連接字符串後的其他簡單回聲:( – tismon 2010-02-08 10:10:13

+0

像max指出你應該有一些在Apache日誌中,如果你有shell訪問服務器,你可以嘗試使用'psql'並看看你能否像預期的那樣進行連接。 – RageZ 2010-02-08 10:26:44

0

也許pgsql module isn't installed/loaded看看pg_last_error,它會給你有價值的信息?

<?php 
echo "<pre>If this line isn't printed you have a parse error in your script</pre>\n"; flush(); 
error_reporting(E_ALL); ini_set('display_errors', true);  
extension_loaded('pgsql') || die('pgsql module unavailable'); 


$connection = pg_connect("host=localhost dbname=mydb user=postgres password=pgsql"); 
if (!$connection) { 
    echo "Couldn't make a connection! ". pg_last_error(); 
} 
else { 
    echo 'connected to server'; 
} 
flush(); 
?> 
1

該錯誤消息後,故障排除我得到是

「的pgsql模塊不可用」

我設置

延長= php_pdo_pgsql.dll 延長= php_pgsql.dll

和 extension_dir =「C:\ php \ ext」

在php.ini文件中,但它沒用。

我使用PostgreSQL 8.3和PHP 5.2.12線程在Win XP的Apache 2.2的...

任何幫助將十分讚賞..

Tismon

1

其解決..問題是與PHP版本。我已經安裝了php5.2.6,並與php5.2.5的replced的pgsql.dll擴展

非常感謝VolkerK,RageZ和最大S-

問候

tismon