我写了一个非常简单的mysql行,用于搜索关键字的非常简单的搜索栏,但是我遇到了一个错误。 (我有一种感觉,那是因为搜索的长度)PHP-Mysql错误与%
$query = "SELECT * FROM entries WHERE name='%".$search."%' ";
作品,但
$query = "SELECT * FROM entries WHERE desc='%".$search."%' ";
没有。
在数据库中,名称大约有20个字符,而desc大约有700个字符。我检查拼写和所有内容,它只是输出一个错误。
这是不行的,因为它有太多的字符扫描?
非常感谢(提前)!
2个问题:1。你没有错误检查(否则这个问题qould没有被要求在所有或以不同的方式),2。你可能是一个目标SQL注入。您应该使用准备好的语句,或者至少使用'mysql_real_escape_string()'函数。 – glglgl
谢谢,但我不知道你将如何做Mysql的错误检查? (顺便说一句,是的,我保护我的SQL,但我没有把它包括在我的例子里都是) – Ninjiangstar
好吧,如果你发现函数调用出错了,你可以调用例如['mysql_error()'](http://php.net/manual/en/function.mysql-error.php)如果你使用旧界面。 mysqli和PDO接口肯定有相似的功能。 – glglgl