我有这个查询对我来说效果不好,我已经一遍又一遍地审阅了它。 这有什么不对?
$sql3="
SELECT *
FROM hostess
WHERE id_ag='$id_ag' AND (id!='$hostess_id2' && id!='$hostess_id1')";
答案 0 :(得分:3)
你应该改变:
id!='$hostess_id2' && id!='$hostess_id1'
到
id!='$hostess_id2' || id!='$hostess_id1'
您无法将相同的列值与&&
运算符进行比较,因为它将是第一个值或第二个值。
答案 1 :(得分:1)
使用NOT IN
构造。
$sql3="
SELECT *
FROM hostess
WHERE id_ag='$id_ag' AND id NOT IN ($hostess_id2, $hostess_id1)";
答案 2 :(得分:0)
变化
(id!='$hostess_id2' && id!='$hostess_id1')
到
(id!='$hostess_id2' AND id!='$hostess_id1')
OR
(id!='$hostess_id2' OR id!='$hostess_id1')
您已插入&&
而不是AND
答案 3 :(得分:0)
试试这个,
$sql3="SELECT * FROM hostess WHERE id_ag='$id_ag' AND id<>'$hostess_id2' AND id<>'$hostess_id1'";