2012-10-01 91 views
0

我有这个查询,这对我来说工作不太好,我一遍又一遍地检查它。 这是什么问题?问题与查询

$sql3=" 
    SELECT * 
    FROM hostess 
    WHERE id_ag='$id_ag' AND (id!='$hostess_id2' && id!='$hostess_id1')"; 
+0

什么不工作? – jurgemaister

+0

什么是错误? –

+0

嗯,它只是没有给出输出..我的意思是没有错误,但我认为有可能是错误的写作 –

回答

1

使用NOT IN构造。

$sql3=" 
    SELECT * 
    FROM hostess 
    WHERE id_ag='$id_ag' AND id NOT IN ($hostess_id2, $hostess_id1)"; 
+0

谢谢你的回答:) –

0

变化

(id!='$hostess_id2' && id!='$hostess_id1') 

(id!='$hostess_id2' AND id!='$hostess_id1') 

OR

(id!='$hostess_id2' OR id!='$hostess_id1') 

您插入&&代替AND

0

试试这个,

$sql3="SELECT * FROM hostess WHERE id_ag='$id_ag' AND id<>'$hostess_id2' AND id<>'$hostess_id1'"; 
3

你应该改变:

id!='$hostess_id2' && id!='$hostess_id1' 

id!='$hostess_id2' || id!='$hostess_id1' 

你不能用一个&&运营商在同一列的值进行比较,因为这将是第一个值或第二个值。