PHP/MySQL : Using 'CONCAT' and 'AND' clause in MYSQL Query

标签 php mysql

我正在尝试执行此查询:

查询 1:

$query = "SELECT a.*, b.title_wo 
          FROM `worksheet_master` AS a 
            INNER JOIN `work_order` AS b ON a.wo_number = b.wo_number 
          WHERE CONCAT (a.`wo_number` like '" . $_POST["keyword"] . "%', 
                        `title_wo` like '" . $_POST["keyword"] . "%') 
          ORDER BY a.`wo_number` DESC LIMIT 0,50";

查询 2:

$query = "SELECT a.*, b.title_wo 
          FROM `worksheet_master` AS a 
            INNER JOIN `work_order` AS b ON a.wo_number = b.wo_number 
          WHERE CONCAT (a.`wo_number` like '" . $_POST["keyword"] . "%', 
                        `title_wo` like '" . $_POST["keyword"] . "%') 
            AND a.`status` = 'NULL' 
          ORDER BY a.`wo_number` DESC 
          LIMIT 0,50";

查询 2 没有用 AND 子句给我任何结果,而查询 1 给了我结果。

谁能帮我解决这个问题?我需要整理出表中状态为空的结果,这就是为什么我在查询 2 中添加了 AND 子句,希望结果符合预期,但事实并非如此。

谢谢。

最佳答案

除非 NULL 是一个实际的字符串,否则您需要使用 IS NULL 代替。

$query = "SELECT a.*, b.title_wo 
      FROM `worksheet_master` AS a 
        INNER JOIN `work_order` AS b ON a.wo_number = b.wo_number 
      WHERE CONCAT (a.`wo_number` like '" . $_POST["keyword"] . "%', 
                    `title_wo` like '" . $_POST["keyword"] . "%') 
        AND a.`status` IS NULL 
      ORDER BY a.`wo_number` DESC 
      LIMIT 0,50";

关于PHP/MySQL : Using 'CONCAT' and 'AND' clause in MYSQL Query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41047013/

相关文章:

php - 如何通过ajax访问json_decode()数据

javascript - JSON 对象被 Javascript 重新排序

PHP5如何添加simplexml?

javascript - 保存带有散列标记的文本(Javascript - PHP - MySQL)

mysql - [MySQL]如何先排序再分组?

带参数的PHP调用函数使用数组

mysql - 如何合并两个MySQL表

php - 简单的 PHP 嵌入到一些非常简单的 HTML 中

mysql - 重用数据库连接池中的连接

mysql - 来自城市表的地理位置距离 SQL