私は複数のユーザがいます。私は各ユーザーが自分のアイテムを検索できるようにする必要があり、他の人のアイテムは見ないようにする必要があります。このクエリによって、executerはまだdbaseのすべての項目を見ることができます。助けてください!mysql LIKEは一致しますが、ユーザ名でフィルタリングする必要があります
$ finditは、ユーザーが探しているスクリプトの前の変数です。 $ usernameはログイン後にセッションCookieで設定されます。別として
SELECT *
FROM prices
WHERE (itemnum LIKE '%$findit%'
OR itemdesc LIKE '%$findit%')
AND username = '$username'
ORDER BY price
作るか、または単一の条件として作用し、どの、およびユーザ名が一致し、ユーザ名が一致する必要があるように:
$result = mysql_query("SELECT * FROM prices WHERE
itemnum LIKE '%$findit%' ||
itemdesc LIKE '%$findit%' AND username = '$username' ORDER BY price");
ご参考までに、||の代わりにORを使用してください。 SQLで。 – Ariel
ANDはSQLを含むほとんどの言語でORより高い優先順位を持ちます。編集:私は明確ではなかった。私は同じ「優先順位/優先順位」を意味します – gbn
@gbnいいえ、下にリンクされているチャートを参照してください。 (またはここでもまた:http://dev.mysql.com/doc/refman/5.0/en/operator-precedence.html) – Shi