メールがデータベースにあるかどうかを確認したい場合は、次のように行うことができます。
-
準備コード> 選択したステートメント
- プリペアドステートメントを使用することで、パラメータに「奇妙な」文字が含まれていても、SQL構文が壊れてしまう可能性がある場合でも、SQLクエリは常に適切にフォーマットされます。
-
パラメータをステートメントにバインドして実行します
-
ステートメントの結果を保存する
- このようにして、
mysqli_stmt_num_rows($ stmt)
を使用できます。 次のステップで
- このようにして、
-
mysqli_stmt_num_rows($ stmt)
を使用します 結果セットに少なくとも1つの行が含まれているかどうかを確認します- はいの場合:メールはデータベースにあります
- いいえの場合:そうではありません
コード:
/**
* define your select-statement and your parameter(s)
* let the database prepare the statement and bind the parameters
*/
$stmt = mysqli_prepare($link, 'SELECT * FROM email WHERE email = ?');
mysqli_stmt_bind_param($stmt, "s", $correo);
$correo = "[email protected]";
/**
* execute the statement and storing the result
*/
mysqli_stmt_execute($stmt);
mysqli_stmt_store_result($stmt);
/**
* check the resultset and react accordingly
*/
if(mysqli_stmt_num_rows($stmt) > 0){
echo "Ya recibió los tps por su suscripción al Boletín de Todopolicia.com";
}else{
echo "Registramos el correo";
}