簡體   English   中英

PHP准備的語句/綁定參數代碼崩潰

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM