2011-03-09 193 views
2

希望能我只是在这里失踪简单的东西:SQL查询中使用或返回所有结果WHERE语句

$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的项目。 有没有人看到我的问题?

回答

3

SELECT * FROM USER_INFO,USER_LOGIN WHERE(user_login.status = '0' OR user_login.status = '2')AND user_info.uid = user_login.uid

位次:)

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至于重复的记录。