2017-10-11 10 views

Antwort

0

Nun, wenn Sie dies nicht dagegen versuchen und sehen.

$pWord = password_hash($password, PASSWORD_BCRYPT); 

$chkUname = $dbconnect -> prepare("SELECT username FROM users WHERE username=:username"); 
$chkUname -> bindParam(':username', $username); 
$chkUname -> execute(); 

$rowCoun = $chkUname -> rowCount(); 

if($rowCoun > 0){ 
    echo "USER ALREADY EXIST"; 
}else{ 
    $addUsr = $dbconnect -> prepare("INSERT INTO users VALUES (null, :username, :password, :email)"); 
    $addUsr -> bindParam(':username', $username); 
    $addUsr -> bindParam(':password', $pWord); 
    $addUsr -> bindParam(':email', $email); 

    if($addUsr -> execute();){ 
     echo "SUCCESS!"; 
    }else{ 
     echo "SOMETHING WENT WRONG"; 
    } 
} 
0

Mit einer SQL-Abfrage erhalten Sie nicht wahr oder falsch. Mit dieser Zeile erhalten Sie 0 oder 1 Datenzeile. Sie müssen die Antwort aus der Abfrage speichern und dann auf die Anzahl der Zeilen zugreifen, die zurückgegeben wurden. Überprüfen Sie, ob diese Zahl 0 ist => Benutzername nicht in der Datenbank.

+0

Ich habe bereits versucht, dass mit: \t \t \t \t if (explode (‘‘, $ query) [0] == 'SELECT') { \t \t \t \t \t \t \t \t \t $ data = $ Anweisung-> fetchAll(); \t \t \t \t return $ data; \t \t \t \t} –

0

Ich bin nicht ganz klar das, was Sie wollen, wenn Sie Benutzer bereits überprüfen möchten existieren oder nicht, ändern Sie einfach SELECT username zu SELECT COUNT(id)

if (!DB::query('SELECT COUNT(id) FROM users WHERE username=:username', array(':username'=>$username))) { 
    //create user 
    DB::query('INSERT INTO users VALUES (null, :username, :password, :email)', array(':username'=>$username, ':password'=>password_hash($password, PASSWORD_BCRYPT), ':email'=>$email)); 
     echo "SUCCESS!"; 
} else { 
    echo 'USER ALREADY EXIST'; 
} 
Verwandte Themen