sql >> Base de Datos >  >> RDS >> Mysql

consulta programación mientras y si anidado

Si desea verificar si el correo electrónico está en su base de datos, puede hacerlo así.

  • prepare su declaración selecta

    • al utilizar declaraciones preparadas, su consulta sql siempre estará bien formateada, sin importar si hay caracteres 'raros' en sus parámetros que podrían romper la sintaxis sql de lo contrario
  • vincular el parámetro a la instrucción y ejecutarlo

  • almacenar el resultado de la sentencia

    • de esta manera podemos usar mysqli_stmt_num_rows($stmt) en el siguiente paso
  • use mysqli_stmt_num_rows($stmt) para verificar, si el conjunto de resultados contiene al menos 1 fila

    • si es así:su correo electrónico está en la base de datos
    • si no:no lo es

Código:

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