我想在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为什么不起作用?
答案 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));
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)