0

これにより 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);
?>
4

1 に答える 1

0

mysqli_stmt_get_resultは PHP 5.3 で利用できますが、私は 5.1 を実行しています。また、この呼び出しを機能させるには、mysqlnd ドライバーをインストールする必要があります。

詳細については、未定義メソッド mysqli_stmt::get_result の呼び出しを参照してください。

于 2013-06-03T17:48:33.960 に答える