sql >> Database >  >> RDS >> Mysql

Hoe kan ik meerdere e-mails OF gebruikersnaam stoppen?

Je zou kunnen proberen:

connect_db();
$check = mysql_query("SELECT 'User' validation
                        FROM school_users 
                       WHERE username = '$username' 
                       UNION ALL
                      SELECT 'Email' 
                        FROM school_users 
                       WHERE email = '$email'") or die(mysql_error());
$row = mysql_fetch_assoc($check);

if($row)
{
    if ($row["validation"] == 'User') {
            respond("error", "Sorry, the username ".$_POST['username']." is already in use. Please choose a different username.");}}
    else if ($row["validation"] == 'Email') {
        respond("error", "Sorry, the email ".$_POST['email']." is already in use. Please choose a different email.");}}
}

OF je zou het gewoon apart kunnen doen...

//Validate UserName
connect_db();
$check = mysql_query("SELECT username FROM school_users WHERE username = '$username'") or die(mysql_error());
$check2 = mysql_num_rows($check);

if ($check2 != 0) {
    respond("error", "Sorry, the username ".$_POST['username']." is already in use. Please choose a different username.");}

//Validate Email
connect_db();
$checkEmail = mysql_query("SELECT email FROM school_users WHERE email = '$email'") or die(mysql_error());
$checkEmail2 = mysql_num_rows($check);

if ($checkEmail2 != 0) {
    respond("error", "Sorry, the email ".$_POST['email']." is already in use. Please choose a different email.");}

Bovendien is uw code kwetsbaar voor SQL Injection-aanvallen en gebruikt u verouderde MySQL-php-functies. Als je je code toch beter en minder kwetsbaar wilt maken, bekijk dan de volgende links:

Waarom zou ik mysql_*-functies niet gebruiken in PHP?

Wat kan ik gebruiken in plaats van mysql_-functies?

Voorbereide verklaringen

Voorbereide verklaringen met MySQLi



  1. Snel zoeken in de buurt van gebruikers met PostGIS

  2. De telfunctie gebruiken om te bepalen wat wordt weergegeven in de if-opdracht

  3. Hoe SYS_REFCURSUR gebruiken in selecteren voor update in pl/sql

  4. Waarom lopen de opdrachten nog steeds niet synchroon; je kunt deze opdracht nu niet uitvoeren fout