Problem mit "mysql_num_rows"...

Vectormaster

Mitglied
Hallo,
ich bin momentan daran ein Loginsystem mit PHP zu schreiben. Nun bin ich bei der Registrierung angelangt und habe nun folgenden des Problem: Beim aufrufen der PHP Datei welche die Daten aus dem Formular verarbeitet, bekomme ich folgende Meldung:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\abc\include\class\validator.class.php on line 523”. “mysql_error()“ gibt mir keine Informationen über den Fehler (oder verwende ich es an der falschen Stelle?).

Hier noch die „Fehlerstelle“ in der Classe, die den Usernamen überprüfen soll:

PHP:
...
$echeckusername_query =  "SELECT * FROM users WHERE username =  '$eingabe'";
			
$checkusernamequery = mysql_query($echeckusername_query);
			
// Prüfen ob Query erfolgreich war
if ($checkusernamequery = true)
{
  $checkusername = mysql_num_rows($checkusernamequery);			
  if ($checkusername > 0 )
  {
    $this->feld_error[$label] = self::FELD_ERROR_NOTAVAIBEL;
    return false;
  }
}
else
{
  echo "Folgender Fehler trat bei der Abfrage auf: ".mysql_error();
}
...

Wenn ich genau dasselbe also "SELECT * FROM users WHERE username = '$eingabe'" anstatt mit „$eingabe“ mit irgendeinem Wort über PHPMyAdmin ausführe, erhalte ich eine Erfolgsmeldung und keinerlei Fehlermeldungen.

Ich teste das ganze Lokal über den WAMP Server 2.0. Weiterhin hab ich die Suchfunktion im Forum so wie Google schon benutzt und habe leider nichts Passendes gefunden.
 
PHP:
$checkusernamequery = mysql_query($echeckusername_query);
            
// Prüfen ob Query erfolgreich war
if ($checkusernamequery = true)

Du prüfst hier nicht ob das Query erfolgreich war, sondern du weist $checkusernamequery "true" zu. Dadurch ist dadrin jetzt "true" und nicht mehr die MySQL Ressource.
 
Nein, ich habe das Formular zur Eingabe der Daten. Nach absenden des Formulars, prüfe ich mit einer Classe alle Eingaben des Users. Erst danach schreibe ich etwas in die Datenbank. Um sicher zu gehen, prüfe ich mit dieser Classe alle Eingaben auf SQL-Injection's.
 
Zurück