我有几个拥有元素的用户。我需要每个用户都能够搜索他们的项目,而不是看到其他人的项目。该查询仍然允许执行者查看数据库中的每个项目。请帮忙!
$findit 是脚本中前面的一个变量,是用户要查找的内容。 $username 在登录后通过 session cookie 设置。
$result = mysql_query( "SELECT * FROM prices WHERE
itemnum LIKE '%$findit%' ||
itemdesc LIKE '%$findit%' AND username = '$username' ORDER BY price");
最佳答案
您应该能够对 OR 进行分组:
SELECT *
FROM prices
WHERE (itemnum LIKE '%$findit%'
OR itemdesc LIKE '%$findit%')
AND username = '$username'
ORDER BY price
这将使 OR 作为单个条件,而用户名作为另一个条件匹配,因此需要匹配用户名。
关于php - mysql LIKE 匹配,但需要按用户名过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6893170/