MySQLi查询问题


MySQLi query issue

使用此请求:

<?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表中收集所有数据。

由于没有问题,我将描述我想做什么。假设一条记录实际上是post,状态为publish,并且请求中的post_contentpost_title字段中存在匹配项。

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

使用此

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

只需组合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,这意味着两列值的组合。