セキュリティ上の理由から、最初の準備済みステートメントを使用するように変換しました。私はそれをテストしましたが、動作しますが、コード自体に関するフィードバック (建設的な批判を歓迎します) を探していますが、かなり基本的なものであることは理解しています。また、いくつかのクエリがあります。
mysqli_escape_string
準備済みステートメントを使用する場合、使用する必要はないと言っているのは正しいですか?- この機能を使用する
mysqli_stmt_get_result
と、書く量が減り、効率的になりますか? - 使用は
mysqli_stmt_close
必要ですか?この関数を使用しないと、そのスクリプト内で別の準備済みステートメントを作成できないというのは正しいですか?
これが私のコードです:
<?php
//prepared statement example
include 'database.php';
$query = "SELECT ID FROM users WHERE email = ?";
$email = 'myemail@gmail.com';
$statement = mysqli_stmt_init($connect);
mysqli_stmt_prepare($statement, $query);
mysqli_stmt_bind_param($statement, 's', $email);
mysqli_stmt_execute($statement);
mysqli_stmt_bind_result($statement, $id);
mysqli_stmt_fetch($statement);
echo $id;
?>