dsz1966 2016-12-08 19:07
浏览 50
已采纳

PHP / MYSQL:在MYSQL Query中使用'CONCAT'和'AND'子句

I'm trying to execute this query:

Query 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";

Query 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";

The Query 2 didn't gave me any result with AND clause while the Query 1 gave me the result.

Can anyone help me with this? I need to sort out the result which has the empty status in my table, that's why I added AND clause in Query 2 hoping the result will be as expected, but it's not.

Thank You.

  • 写回答

1条回答 默认 最新

  • donglu9743 2016-12-08 19:11
    关注

    Unless NULL is an actual string, you need to use IS NULL instead.

    $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";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services