• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP abfrage ob Name bereits Vorhanden ist

JoKaBo

Mitglied
Hallo,
Ich mache grade ein Register Formular aber das geht net ich prüfe mit dem Code, Ob der Benutzer Breits Vorhanden ist
aber es Geht net :(

PHP:
            $sql45 = mysql_escape_string(sprintf("SELECT * FROM `Login` WHERE Benutzername='%s'",
            mysql_real_escape_string($_POST['benutzername'])));
               $reg = $verbindung2->query($sql45);
            
            $RückgabeAnZeilen = mysql_num_rows($reg);    
            if($RückgabeAnZeilen < 1){
                $fehler = $fehler . "Der Benutzername ist Breits Vorhanden!";
            }



hier der Fehler:
Code:
Warning: mysqli::query(): Couldn't fetch mysqli in /var/customers/webs/ni32182_2/register.php on line 107 NULL

in der Zeile 107 steht:
Code:
$reg = $verbindung2->query($sql45);

2te Frage, wie kann ich bei php Die groß un kleinschreibung Ignorieren ?

Mit freundlichen Grüßen
JoKaBo
 
Werbung:
Du hast 2 Probleme:

Punkt 1:
Du musst dich für eine der von PHP bereitgestellten MySQL-Funktionen entscheiden. Das hier

PHP:
mysql_num_rows()

ist mysql. Das hier

PHP:
$verbindung2->query()

ist offenbar mysqli - man beachte das "i" dahinter.

Also entweder das eine oder das andere Nutzen - beide Zusammen für die selbe Aufgabe: nein.

Punkt 2:
Du verwendest mysql_escape_string() falsch. Mit

PHP:
$sql45 = mysql_escape_string(sprintf("SELECT * FROM `Login` WHERE Benutzername='%s'",
            mysql_real_escape_string($_POST['benutzername'])));

maskierst Du das Statement. Dadurch kommt ein fehlerhaftes SQL-Statement raus, welches dann von query() natürlich nicht ausgeführt werden kann.

So sähe es korrekt aus:
PHP:
$sql45 = sprintf("SELECT * FROM `Login` WHERE Benutzername='%s'", mysql_real_escape_string($_POST['benutzername']));
 
Werbung:
jetzt habe ich es so
PHP:
            $sql45 = sprintf("SELECT * FROM `Login` WHERE Benutzername='%s'", 
            mysql_real_escape_string($_POST['benutzername'])); 
            
            $RückgabeAnZeilen = mysql_num_rows($sql45);    
            if($RückgabeAnZeilen < 1){
                $fehler = $fehler . "Der Benutzername ist Breits Vorhanden!";
            }
 
PHP:
$sql = mysql_query( 'SELECT * FROM `Login` WHERE `Benutzername`="'.mysql_real_escape_string( $_POST[ 'benutzername' ] ).'" ' );

if( mysql_num_rows( $sql ) < 1 ){
  $fehler .= 'Der Benutzer ist bereits vorhanden!';
}

// Ausgabe der sämtlichen Benutzernamen in der DB
$sql2 = mysql_query( 'SELECT `Benutzername` FROM `Login` ' );
while( $row = mysql_fetch_assoc( $sql2 ) ){
  echo 'Benutzername: '.$row[ 'Benutzername' ].'<br />';
}
 
Zurück
Oben