php - mysql LIKE 匹配,但需要按用户名过滤

标签 php mysql

我有几个拥有元素的用户。我需要每个用户都能够搜索他们的项目,而不是看到其他人的项目。该查询仍然允许执行者查看数据库中的每个项目。请帮忙!

$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/

相关文章:

php - 动态下拉列表中的默认选择

php - session 如何工作?

python manage.py 迁移不起作用, runserver 也不起作用

MYSQL子查询性能不一致

MYSQL INET_NTOA 与 Mybb 中的 IP

php - MySQL 服务器版本,用于在第 6 行 'AND epg_data.start' ' ORDER BY epg_data.start DESC' 附近使用正确的语法

php - 无法使用 PhpMailer 和 Codeigniter 通过 Outlook SMTP 发送电子邮件

php - fatal error : Can't use function return value in write context in ****. com\httpdocs\wp-content\plugins\popup-builder\popup-builder.php 第 335 行

mysql - SQL : Select the max of two occurrences

php - fatal error : Call to a member function fetch_array() on boolean on line 22