[英]PHP Prepared Statement/Bind Param Code Crashing
有人可以解釋為什么這會給我500個內部服務器錯誤嗎? 我嘗試添加一些SQL注入保護,但不確定自己在做什么錯。 我應該以面向對象的方式而不是過程的方式進行此操作嗎?
<?php
$conn = mysqli_connect($host, $user, $pwd)or die("Error connecting to database.");
mysqli_select_db($conn, $db) or die("Couldn't select the database.");
$username = $_POST['username'];
$password = $_POST['password'];
$stmt = mysqli_stmt_init($conn);
$query = "SELECT * FROM Users WHERE email=? AND password=?";
mysqli_stmt_prepare($stmt, $query) or die("Failed to prepare statement.");
mysqli_stmt_bind_param($stmt, "ss", $username, $password);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
$count = mysqli_num_rows($result);
if($count == 1){
//Log in successful
}
else {
//Wrong Username or Password
}
mysqli_close($conn);
?>
mysqli_stmt_get_result
在PHP 5.3中可用,但我正在運行5.1。 另外,必須安裝mysqlnd驅動程序,此調用才能起作用。
有關更多信息,請參見調用未定義方法mysqli_stmt :: get_result
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.