mysqlからmysqli prepared statementsに自分のコードを変更しようとしています。私は現在、データベースに電子メールがあるかどうかを確認するために現在動作しているコードをどのように適応させるのかよくわかりません。以下は私が現在使っているコードです。これをプリペアドステートメントに変更して同じ結果を得るにはどうすればよいですか?同様にあなたを助けるかもしれない。このリンク準備された文を使用して電子メールがすでにデータベースに入っているかどうか確認してください。
// create mysqli object
$mysqli = new mysqli(/* fill in your connection info here */);
$email = $_POST['email']; // might want to validate and sanitize this first before passing to database...
// set query
$query = "SELECT COUNT(*) FROM users WHERE email = ?"
// prepare the query, bind the variable and execute
$stmt = $mysqli->prepare($query);
$stmt->bind_param($email);
$stmt->execute()
// grab the result
$stmt->store_result();
// get the count
$numRows = $stmt->num_rows();
if($numRows)
{
echo "<p class='red'>Email is already registered with us</p>";
}
else
{
// ....
}
:
//if email is equal to an email already in the database, display an error message
if(mysql_num_rows(mysql_query("SELECT * FROM users WHERE email = '".mysql_real_escape_string($_POST['email'])."'")))
{
echo "<p class='red'>Email is already registered with us</p>";
} else {
// missing code?
}
SOにようこそ。あなたの投稿を私の能力の最大限に再フォーマットしました。マークアップに慣れるにはFAQを必ず読んでください。おそらくあなたが投稿したかったコードがありません。 – pmr