【发布时间】:2015-04-18 07:35:55
【问题描述】:
我一直在搞乱我的搜索页面。我添加了mysqli_real_escape_string 和strip_tags,据我所知,一切正常,应该是安全的。
我只是想在搜索表单中输入随机符号,看看在采取这些安全措施的情况下是否仍然可以找到我的所有数据库条目。一切都好,除非我搜索单引号 (')。
这给了我“mysqli_num_rows() 期望参数 1 是 mysqli_result, boolean given”错误。有很多关于该错误的信息,我知道如何解决它(至少我是这么认为的)。但是,在这种特殊情况下,我不知道:/
代码:
ini_set('display_errors', 1);
$search = $_GET ['q'];
$conn = mysqli_connect("localhost", "root", "","release");
$search = mysqli_real_escape_string($conn, "$search");
$search = stripslashes(strip_tags(trim("$search")));
$query = mysqli_query($conn,"SELECT * FROM game WHERE game_name LIKE '%". $search ."%' ORDER BY game_release");
$count = mysqli_num_rows($query);
【问题讨论】:
-
你必须使用绑定参数机制。显示在这里:stackoverflow.com/questions/15748254/…
-
@KanchoIliev 你应该这样做,但你不必这样做。
-
是的,你是对的,对不起。
标签: php single-quotes