在PHP中解决pg_query错误消息

时间:2009-08-06 21:13:13

标签: php

我的代码handler.php

 ... 
 // 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;
     }
?>

我将“username = a”,“email = a”和password =“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相同的语法。

你如何解决这个问题?

2 个答案:

答案 0 :(得分: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中。您正在尝试将连接字符串用作资源,这是无效的。

答案 1 :(得分:2)

你写了一个错字:

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

在这一行中使用$ dbconn而不是$ conn。