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

Problem mit MySQL Klassenfunktion

Halli Hallo Hallöle (oder so)

Ich hab gestern mal ne MySQL-Klasse geschrieben, um die schönen ewig langen Abfragen sparen zu können, allerdings macht meine Count-Funktion ein paar Probleme.

PHP:
        public function Count($sql)
        {
                if ( $this->query = mysql_query($sql) )
                {
                        $this->return = mysql_num_rows($this->query);
                        return $this->return;
                }
                else
                {
                        die("Error with SQL in function 'Count' (MySQL Class)!<br />\n".mysql_error($this->con));
                }
        }

An sich ist für mich da kein Fehler zu erkennen. Wenn ich aber dann damit bei nem Login abfragen will, ob richtige Daten eingegeben wurden, komme ich nur eine "sehr aufschlussreiche" Fehlermeldung wieder.

Script schrieb:
Error in function 'Count' (MySQL Class)!
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Die Abfrage wird über eine selbstgeschriebene Funktion ausgeführt.

PHP:
function CorrectData($user, $pass,$DB)
{
        if ( !isset($DB) )
        {
                die ("No Connection to Database. Please connect on your global config file.");
        }
        if ( isset($DB) )
        {
                $count = $DB->Count("SELECT * FROM account WHERE account='".$user."' AND password='".$pass."'");
                if ( $count < 1 )
                {
                        return false;
                }
                if ( $count >= 1 )
                {
                        return true;
                }
        }
}

Ich weis da echt nicht mehr weiter, vielleicht könnt ihr mir helfen.

LG, NetzSchleicher

EDIT: Wenn ich die Fehlermeldung bei mysql_num_rows per @ unterdrücke funktioniert alles. Kann es sein, dass mysql_num_rows bei 0 Reihen im Ergebnis immer rumzickt?
 
Zuletzt bearbeitet:
Werbung:
EDIT: Wenn ich die Fehlermeldung bei mysql_num_rows per @ unterdrücke funktioniert alles. Kann es sein, dass mysql_num_rows bei 0 Reihen im Ergebnis immer rumzickt?

Höh?

Es macht keinen Sinn, dass mysql_num_rows über die SQL-Syntax meckert. Diese Funktion würde eher etwas wie:
invalid mysql resource
werfen!

Die Fehlermeldung muss von mysql_query stammen, jedoch kann ich in deinem Code bislang keinen Fehler entdecken. Umgib $user und $pass mal mit http://php.net/mysql_real_escape_string

Error in function 'Count' (MySQL Class)!
ist nicht identisch mit
}
else
{
die("Error with SQL in function 'Count' (MySQL Class)!<br />\n".mysql_error($this->con));
}

Es fehlt "with SQL". Darf ich annehmen, dass die Fehlermeldung von woanders stammt oder hast du nachträglich noch etwas geändert?

Kann es sein, dass mysql_num_rows bei 0 Reihen im Ergebnis immer rumzickt?

Nein!!
 
Werbung:
Richtig, Asterixus, count() gibt es schon. Aber die Funktion von NetzSchleicher heißt ja nicht count() sondern Count().

Gruß thuemmy
 
Zurück
Oben