php MySql查询`LIKE'$ word'`返回NULL

时间:2014-03-04 00:28:13

标签: php mysql sql mysqli sql-like

下面的代码中
var_dump($row);

显示NULL

$query = "SELECT * FROM maintable WHERE Category LIKE '$word'
                                                        OR Title LIKE '$word'
                                                        OR Title2 LIKE '$word'
                                                        OR Description LIKE '$word'
                                                        OR Description2 LIKE '$word'
                                                        OR Preimushestva LIKE '$word'
                                                        OR Preimspisok LIKE '$word';";

            $result = mysqli_query($link, $query)
            or die("Error: ".mysqli_error($link));

            $row = mysqli_fetch_array($result, MYSQLI_ASSOC);

            var_dump($row);

$word = 'dolor' 我在表格中有单词dolor,在说明选项卡中帮我找错了

3 个答案:

答案 0 :(得分:5)

你错过了你的模式匹配字符。没有它们LIKE=基本相同。

以下是一个例子:

$query = "SELECT * FROM maintable WHERE Category LIKE '%$word%'
                                                    OR Title LIKE '%$word%'
                                                    OR Title2 LIKE '%$word%'
                                                    OR Description LIKE '%$word%'
                                                    OR Description2 LIKE '%$word%'
                                                    OR Preimushestva LIKE '%$word%'
                                                    OR Preimspisok LIKE '%$word%';";

答案 1 :(得分:4)

请看这个链接:http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like

$query = "SELECT * FROM maintable
              WHERE Category LIKE '%".$word."%'
              OR Title LIKE '%".$word."%'
              OR Title2 LIKE '%".$word."%'
              OR Description LIKE '%".$word."%'
              OR Description2 LIKE '%".$word."%'
              OR Preimushestva LIKE '%".$word."%'
              OR Preimspisok LIKE '%".$word."%';";

答案 2 :(得分:1)

我最好的猜测是你需要搜索'%dolor%'。没有任何通配符的表达式like会搜索完全匹配。

但是,如果在变量替换后打印出查询,则会有所帮助。如果通配符表单无法解决您的问题,您可以使用此信息编辑您的问题。