$mysqli_stmt->bind_param('ss',$username,$password);之后改變了什么
$mysqli_stmt->bind_param('ss',$username,$password);
之后是改變了什么東西? ?還是需要再$mysqli_stmt->execute();才有改變什么
這時候輸出$sql還是跟原來一樣, echo $mysqli_stmt顯示錯誤
請就用$username='or 1=1#' 為例,告訴我 上面操作之后改變了什么
$mysqli_stmt->bind_param('ss',$username,$password);
之后是改變了什么東西? ?還是需要再$mysqli_stmt->execute();才有改變什么
這時候輸出$sql還是跟原來一樣, echo $mysqli_stmt顯示錯誤
請就用$username='or 1=1#' 為例,告訴我 上面操作之后改變了什么
2016-12-08
舉報
2017-06-15
相當(dāng)于將?當(dāng)做一個x來執(zhí)行了語句,后面的綁定參數(shù)操作,然后執(zhí)行操作之后,不再是用原來的句子查詢一遍,而是將編譯好的語句,帶入特定參數(shù),執(zhí)行時將‘or 1=1 #當(dāng)做一個字符串實參代入,而不是拼接成完整sql語句再去執(zhí)行。。。。。。?
2016-12-08
如果有一賬戶的用戶名和密碼分別為 ? ? ?__dog ? ? 密碼: ? ?123;
是不是因為bind_param('ss',$username,$password); ? ? ? ? 賬戶名含有 "__" 因而不進行查詢