php: Syntax-Error
bearbeitet von Rolf BHallo dedlfix,
es ist vor allem gar nicht nötig, nach der SQL Abfrage nochmals die Werte zu vergleichen. Das hat MYSQL schon getan.
Wenn man mysqli verwendet, dann liefert mysqli_query(...) ein mysqli_result Objekt. Darauf gibt's ein num_rows Property, das muss man nur abfragen.
Die Datenbank kann man auch gleich beim Erzeugen des DB-Objekts mitgeben, 4. Parameter. Man muss bei der Objekt-Syntax nur connect_error abfragen, weil man **immer** ein Objekt bekommt.
~~~php
$db = mysqli_connect("localhost", "root", "", "anmeldung");
if ($db === FALSE) {
// DB nicht verfügbar, Error Handling. mysqli_connect_error() liefert den Grund
}
$result = mysqli_query($db, "SELECT username FROM login" .
" WHERE benutzername='$username'" .
" AND passhash='$hashedPassword'");
~~~
$result ist ein mysqli_result Objekt. Das kann man mit Funktionsaufruf oder direkt befragen. Das Query-Ergebnis ist egal - es sei denn, man muss noch mehr Daten aus der login-Tabelle laden.
~~~php
if ($result !== FALSE && $result->num_rows > 0) {
echo = "Login fertiggestellt! Hallo $username";
}
else {
echo = "Login fehlgeschlagen"
}
}
~~~
_Rolf_
--
sumpsi - posui - obstruxi