找到喜欢的文字

时间:2016-09-09 10:47:12

标签: mysql

我想在MySql数据库中找到文本

$result = mysqli_query($con,"SELECT * FROM blog
                             WHERE text_post LIKE = 't%';
                            ")
or die(mysqli_error());
while($row = mysqli_fetch_array($result))  {
    echo $row['titol_post'] . "<br>";
}

它给了我错误: mysqli_error()预计只有1个参数,0给定......

如果我替换

WHERE text_post LIKE = 't%';  

通过

WHERE text_post = 'test';

效果很好。我不明白。 LIKE为什么不起作用?

5 个答案:

答案 0 :(得分:2)

这里就像after = is probelm,请替换

WHERE text_post LIKE = 't%'; 

WHERE text_post LIKE 't%'; 

答案 1 :(得分:1)

与所有其他mysqli_error()函数一样,

mysqli_xx()要求您将连接变量传递给它,以便它知道您想知道最后一个错误的数据库连接。

...
or die(mysqli_error($con));
...

完成此操作后,您将收到一条更有用的错误消息,帮助您诊断SQL代码的问题。

当您收到真正的SQL错误消息时,您会发现问题出在=符号上。

原因是LIKE=的运算符相同。您只能在此处使用一个运算符,因此如果您使用的是LIKE,那么您也不需要=

因此,您的SQL代码将更改为:

SELECT * FROM blog
WHERE text_post LIKE 't%

答案 2 :(得分:0)

尝试在错误函数中传递conn:

or die(mysqli_error($con));

MySQL syntax说:

  

string mysqli_error(mysqli link);

     

返回最新MySQLi函数的最后一条错误消息   呼叫成功或失败。

此外,您需要删除LIKE关键字后面的=符号

$result = mysqli_query($con,"SELECT * FROM blog
                             WHERE text_post LIKE  't%';
                            ")
or die(mysqli_error($con));

答案 3 :(得分:0)

我刚刚将like =更改为like并且有效

SELECT * FROM blog WHERE text_post LIKE 't%'"

答案 4 :(得分:0)

这是在mysql中编写sql查询的正确方法。请用此替换您的查询。

$ result = mysqli_query($ con,&#34; SELECT * FROM blog                              在哪里text_post LIKE&#39; t%&#39 ;;                             &#34)