Mysql
 sql >> Base de données >  >> RDS >> Mysql

consultation programmation while et if nested

Si vous voulez vérifier si l'e-mail est dans votre base de données, vous pouvez le faire comme ceci.

  • prepare votre instruction select

    • en utilisant des instructions préparées, votre requête sql sera toujours bien formatée, peu importe s'il y a des caractères "étranges" dans vos paramètres qui pourraient casser la syntaxe sql autrement
  • lier le paramètre à l'instruction et l'exécuter

  • stocker le résultat de l'instruction

    • de cette façon, nous pouvons utiliser mysqli_stmt_num_rows($stmt) à l'étape suivante
  • utilisez mysqli_stmt_num_rows($stmt) pour vérifier, si le jeu de résultats contient au moins 1 ligne

    • si oui :votre e-mail est dans la base de données
    • si non :ce n'est pas le cas

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