希望我在这里错过一些简单的东西:
$sql = "Select * FROM user_info, user_login WHERE user_login.status = '0' OR user_login.status = '2' AND user_info.uid = user_login.uid";
$db = new connection();
$results = $db->query($sql);
$user = array();
while($info = mysql_fetch_array($results))
{
$user[] = $info;
}
$total = count($user);
//TEST the amount of rows returned.
echo $total;
for ($i = 0; $i < $total; $i++)
{
//echo data;
}
只是尝试将user_login.status字段设置为“0”或“2”的所有数据拉出来,但它会显示所有内容并显示标记为2的项目两次。 有人看到我的问题吗?
答案 0 :(得分:8)
由于缺少括号,您的优先权受到了打击:
SELECT DISTINCT *
FROM user_info, user_login
WHERE (user_login.status = '0' OR user_login.status = '2')
AND user_info.uid = user_login.uid
在没有看到数据的情况下,我不能给出关于重复记录的SELECT DISTINCT
以上的数据。
答案 1 :(得分:3)
选择* FROM user_info,user_login WHERE(user_login.status ='0'或user_login.status ='2')AND user_info.uid = user_login.uid
优先顺序:)