2009-08-06 105 views
0

我的代码handler.php在PHP解决pg_query错误信息

... 
// independent variables 
$dbHost = "localhost"; 
$dbPort = 5432; 
$dbName = "masi"; 
$dbUser = "masi"; 
$dbPassword = "123456"; 

$conn = "host=$dbHost port=$dbPort dbname=$dbName user=$dbUser password=$dbPassword"; 

$dbconn = pg_connect($conn); 

$sql = "SELECT username, passhash_md5, email 
     FROM users$ 
     WHERE username='a'  // to get these data from lomake.php 
     AND email='a' 
     AND passhash_md5='a'"; 

    $result = pg_query($conn, $sql); 
    if(!$result) { 
     echo "An error occurred - Masiii!\n"; 
     exit; 
    } 
?> 

我把 “用户名=一”, “电子邮件= a” 和密码= “A” 的形式处理Firefox中的脚本handler.php。我得到

Warning: pg_query(): supplied argument is not a valid PostgreSQL link resource in /var/www/sivusto/handler.php on line 56 
An error occurred - Masiii! 

我不知道错误在哪里,因为我使用的语法与some examples at PHP.net相同。

您如何解决该错误?

+0

谢谢你的回答!我不知道你需要通过'pg_query *('。 – 2009-08-06 21:21:20

+0

Autsh:它在手册中说过)中的'pg_connect()'来实现连接。默认连接是pg_connect()或pg_pconnect()所做的最后一个连接。 * – 2009-08-06 21:22:45

回答

3

你的连接存储在$ dbconn,而不是$ conn将

这是你有你的连接。

$conn = "host=$dbHost port=$dbPort dbname=$dbName user=$dbUser password=$dbPassword"; 

$dbconn = pg_connect($conn); 

这是你查询

$result = pg_query($conn, $sql); 

应该

$result = pg_query($dbconn, $sql); 

PG_Connect返回一个链接连接,您存储在$ dbconn。您正尝试使用连接字符串作为资源,这是无效的。在这条线上,而不是$康恩的

$result = pg_query($dbconn, $sql); 

使用$ dbconn: