Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Abfrageprogrammierung während und falls verschachtelt

Wenn Sie überprüfen möchten, ob sich die E-Mail in Ihrer Datenbank befindet, können Sie dies folgendermaßen tun.

  • prepare Ihre Select-Anweisung

    • durch die Verwendung von vorbereiteten Anweisungen wird Ihre SQL-Abfrage immer gut formatiert, egal ob Ihre Parameter "seltsame" Zeichen enthalten, die sonst die SQL-Syntax beschädigen könnten
  • Binden Sie den Parameter an die Anweisung und führen Sie sie aus

  • das Ergebnis der Anweisung speichern

    • auf diese Weise können wir mysqli_stmt_num_rows($stmt) verwenden im nächsten Schritt
  • Verwenden Sie mysqli_stmt_num_rows($stmt) um zu prüfen, ob die Ergebnismenge mindestens 1 Zeile enthält

    • falls ja:Ihre E-Mail ist in der Datenbank
    • wenn nein:ist es nicht

Code:

/**
 * 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";
}