我一直在搞亂我的搜索頁面。我加了mysqli_real_escape_string
和strip_tags
,據我所知,一切正常,應該是安全的。在搜索字段中輸入單引號導致mysqli_num_rows錯誤
我只是試圖在搜索表單中輸入隨機符號,以查看是否所有數據庫條目都可以在這些安全措施的適當位置找到。除了當我搜索單引號('
)時,所有的都不錯。
這給了我「mysqli_num_rows()期望參數1爲mysqli_result,布爾給定」錯誤。有很多關於這個錯誤的信息,我知道如何解決它(至少我是這麼認爲的)。然而,在這種特定的情況下,我不知道:/
代碼:
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);
您必須使用綁定參數機制。 它顯示在這裏: http://stackoverflow.com/questions/15748254/how-to-run-the-bind-param-statement-in-php –
@KanchoIliev你應該,但你沒有至。 – jeroen
是的,你說得對,對不起。 –