1

目前,我使用 PostgresSQL 查询从数据库中检索用户凭据时遇到了一个奇怪的困难。请忽略安全方面的方法;仅用于测试目的。

使用以下查询:

$result = pg_query($dbconnection,"SELECT \"username\" AND \"password\" FROM \"user\" WHERE      \"username\"='$_USER' AND \"password\"='$encryptedPassword'");

这给出了以下错误

警告:pg_query():查询失败:错误:AND 的参数必须是布尔类型,而不是类型不同的字符第 1 行:从“用户”中选择“用户名”和“密码”WHERE“用户名...... ^

我觉得这很奇怪,因为我之前在 FROM 语句之后使用了 AND 查询......这是否与不正确的符号有关?

4

3 回答 3

1
$result = pg_query($dbconnection,"SELECT 'username', 'password' FROM user WHERE username='".$_USER."' AND password='".$encryptedPassword."'");
于 2013-09-26T09:28:09.657 回答
1

ANDSELECT零件中取出

SELECT username, password
FROM user 
WHERE username = '$_USER' 
AND password ='$encryptedPassword'
于 2013-09-26T09:18:55.810 回答
1

嗯...那不是 sql,请不要使用逗号和

$result = pg_query($dbconnection,"SELECT \"username\",\"password\" FROM \"user\" WHERE      \"username\"='$_USER' AND \"password\"='$encryptedPassword'");
于 2013-09-26T09:19:42.003 回答