这个问题可能是由于注入的文本中含有特殊字符而导致的。为了解决这个问题,可以尝试使用转义字符将文本中的特殊字符转义掉。比如在使用MySQL数据库时,可以使用 addslashes() 方法。
示例代码如下:
connect_errno) { echo "Failed to connect to MySQL: " . $mysqli -> connect_error; exit(); }
//注入文本 $user_input = "admin'; DROP TABLE users; -- ";
//转义注入文本 $escaped_input = $mysqli -> real_escape_string($user_input);
//执行查询 $sql = "SELECT * FROM users WHERE username='$escaped_input'"; $result = $mysqli -> query($sql);
//取出结果 while($row = $result -> fetch_row()) { printf ("%s (%s)\n", $row[0], $row[1]); }
//释放结果集 $result -> free_result();
//关闭连接 $mysqli -> close(); ?>