2010-02-08 82 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