MySQLi查询问题

时间:2015-02-16 03:47:42

标签: php mysql mysqli

有了这个请求:

<?php
$query = '
    SELECT 
        * 
    FROM 
        posts 
    WHERE 
        post_type = "post" AND 
        post_status = "publish" AND 
        post_content LIKE "%'.$search_string.'%" OR 
        post_title LIKE "%'.$search_string.'%"
';

我需要从posts表中收集所有数据,条件如上。

由于没有问题,我将描述我想做的事情。想象一下,记录实际上是帖子,状态为publish,并且post_contentpost_title字段中的请求中存在匹配项。

结果,我得到了最后两个操作条件(检查标题中的合规性)。其余的都被忽略了。

2 个答案:

答案 0 :(得分:0)

使用此

$query = 'SELECT * FROM posts WHERE (post_type = "post" AND post_status = "publish") AND (post_content LIKE "%'.$search_string.'%" OR post_title LIKE "%'.$search_string.'%")';

答案 1 :(得分:0)

只需合并你的LIKE子句。

$query = 'SELECT * FROM posts WHERE 
post_type = "post" AND 
post_status = "publish" AND (post_content LIKE "%'.$search_string.'%" OR 
post_title LIKE "%'.$search_string.'%")';

您需要组合OR,这意味着两个列值的组合。