我有一个我在PHP中使用的简单SELECT语句:
$vote=mysql_query("SELECT * FROM `votes` where username = '$big_hand_username' AND
`voter` = '$user_name'");
使用此语句时,我不会返回任何行。我应该返回1行。我只在投票表中有一行,它包含与变量$ big_hand_username匹配的用户名字段。 $ big_hand_username& $ user_name都包含数据,我已经回应它们以确保。
然而,当我只从选票表中选择所有时,我会返回1行,这是您所期望的。我也可以使用相同的变量从另一个表中选择所有:
$vote=mysql_query("SELECT * FROM `users` where username = '$big_hand_username'");
这将返回1行,您可以期望它包含一行,其中包含与字段用户名匹配的行。
我只是无法理解为什么我无法使用第一个select语句从投票表中返回一行。我错过了什么吗?这可能与桌子的建设有关吗?我也尝试在select语句之后运行while循环但是看不到任何错误。任何指针都会有所帮助。
答案 0 :(得分:2)
试试这个
$vote=mysql_query("SELECT * FROM `votes` where username = '".$big_hand_username."' AND
voter = '".$user_name."'");
答案 1 :(得分:0)
试试这个
$vote = mysql_query("
SELECT * FROM votes
WHERE username = '{$big_hand_username}'
AND voter = '{$user_name}'
");
答案 2 :(得分:0)
尝试下面的线
$sql="
SELECT * FROM votes
WHERE username = '{$big_hand_username}'
AND voter = '{$user_name}'
";
echo $sql; // for debuging also user_name,big_hand_username check
// for preventing sql-injection
$vote=mysql_query($sql);