php - MySQL 查询问题 - WHERE AND/OR

标签 php mysql where-clause

此查询生成每个邮政编码的项目列表。

$ziparrayimplode = implode(",", $ziparray);
        $listingquery = "SELECT * FROM listings WHERE (CONCAT(title, description) LIKE '%".$searchstring."%') AND auc_cat LIKE '%".$category."%' AND zip IN ($ziparrayimplode) AND all_zip=$allzip ORDER BY list_ts DESC $pages->limit";
        $listinghistory = mysql_query($listingquery) or die(mysql_error());

如果我在 all_zip=$allzip 的 WHERE 语句中使用“AND”,那么将显示所有适用于 all_zip 的项目,但不显示 $ziparray 中的项目。如果我在 WHERE 语句中使用“OR”,则 $ziparray 和 $allzip 的项目将被包括在内...但我的搜索功能根本不起作用。

我是否正确地表述了这个查询,或者我应该在 WHERE 语句中使用“OR”并查找搜索编码方式中的问题?

最佳答案

您可以使用 OR/AND 运算符优先级来管理它(您的奇怪结果似乎表明您实际上是错误使用运算符优先级的“受害者”),或者只是添加括号。

...
AND (zip IN ($ziparrayimplode) OR all_zip=$allzip)
ORDER BY...

关于php - MySQL 查询问题 - WHERE AND/OR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14856627/

相关文章:

php - laravel 服务提供者对 laravel 有什么用

python - 导入 mysql.connector ModuleNotFoundError : No module named 'mysql'

c# - MySQL 连接抛出空引用

PHP+MYSQL : select/update/insert from(into) many tables

php - MySQL 和 PHP 中的全文搜索不起作用

php - 如何从网页函数中调用php类中的函数

mysql - 拥有大量记录的数据库会影响读取速度吗? (MySQL)

mysql - 使用 Doctrine Query Builder 或 MySQL 查询连接 3 个以上的表

php - 从 wordpress 帖子页面删除侧边栏和重播

mysql 针对 concat 查询 LIKE 条件