2009-08-06 104 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: