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