0

嗨,我的数据库查询有问题。

$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,将会找到那些字段。请问哪里有问题?

4

1 回答 1

6

您没有为 LIKE 使用正确的语法:

Autor1 LIKE '$vyraz'

应该:

Autor1 LIKE '%$vyraz%'

没有通配符,您只是在进行完全匹配。

于 2012-09-13T20:19:40.627 回答