SQL Like只接受“上下文”

时间:2012-09-13 20:17:58

标签: php mysql sql codeigniter

您好我的数据库查询有问题。

$q = $this->db->query("SELECT * FROM (`knihy`) 
                      WHERE `stav` = 1 
                      AND (Autor1 LIKE '$vyraz' 
                      OR Autor2 LIKE '$vyraz' 
                      OR Autor3 LIKE '$vyraz' 
                      OR Autor4 LIKE '$vyraz') 
                      ORDER BY `id` desc LIMIT $limit OFFSET $offset ");

问题在于,当我搜索“lorem”的例子时,我在我的表中例如在行Autor1内容中:“lorem ipsum”将找不到任何内容。但如果我正在寻找lorem ipsum,那么就会找到那个领域。请问哪里有问题?

1 个答案:

答案 0 :(得分:6)

你没有使用LIKE的正确语法:

Autor1 LIKE '$vyraz'

应该是:

Autor1 LIKE '%$vyraz%'

如果没有通配符,你只是在做一个完全匹配。