无法在数据库中搜索___或___ 2字段,只搜索最后一个字段

use*_*888 -1 php mysql sql select

无法在数据库中搜索_或_2字段,
下面是我的代码而我之前在其他项目中使用过,但现在如果我在这两个字段中为搜索关键字设置这样,它只能搜索第二个字段,我不能想为什么?如何解决这个问题让它起作用?

谢谢.

php
$keyword = mysql_real_escape_string($_POST['keyword']);
$sql = "select * from $table where subject or content like '%$keyword%';";
$query = mysql_query($sql);
while($list = mysql_fetch_array($query)){
    $id = $list[id];
    $subject = $list[subject];
    $content = $list[content];
}

mysql
id    mediumint(6)    AUTO_INCREMENT  INDEX
subject    text    utf8_unicode_ci
content    longtext    utf8_unicode_ci    PRIMARY UNIQUE INDEX
Run Code Online (Sandbox Code Playgroud)

Joh*_*Woo 6

它应该是

select * 
from   $table
where  subject like '%$keyword%' or 
       content like '%$keyword%'
Run Code Online (Sandbox Code Playgroud)

作为一个旁注,查询是脆弱的SQL Injection,如果值(小号)从外面走了进来.请查看下面的文章,了解如何防止它.通过使用PreparedStatements,您可以摆脱使用值周围的单引号.