我的代码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相同的语法。
你如何解决这个问题?
答案 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。