Frage von AaronWallerr, 37

Was ist an diesem PHP Code falsch (Wampserver, Datenbank)?

Hallo ich hänge nun seit mehreren Wochen an folgendem Problem: Ich möchte mir eine einfache Datenbank mit phpmyadmin erstellen, ich habe mich wegen meines unzureichenden Wissens an einem Youtube Video orientiert. Ich habe also zuerst eine conn.php datei in meinem "www" ordner bei Wampserver erstellt und dort folgenden Code reingeschrieben:

<?php
$db_name = "benutzerdaten";
$mysql_username = "root";
$mysql_password = "";
$server_name = "localhost";
$conn = mysqli_connect($server_name, $mysql_username, $mysql_password,$db_name);
if($conn) {
echo "Verbindung erfolgreich";
    
}
else {
    
echo "Verbindung fehlgeschlagen";
}
?>

Zunächst sollte man eine Login.php Datei im "www" Ordner erstellen und dort diesen Code reinschreiben:

<?php
require "conn.php";
$user_name = "123";
$user_pass = "123";
$mysql_qry = "select * from benutzerdaten where username = '$user_name' and password = '$user_pass';";
$result = mysqli_query($conn ,$mysql_qry);
if(mysqli_num_rows($result) > 0) {
echo "Einloggen erfolgreich";
}
else {
echo "Einloggen fehlgeschlagen";
}

?>

In meiner Datenbank habe ich einen Test Benutzer eingetragen mit dem Passwort und dem Benutzernamen "123" deswegen steht das auch so im Code.

Wenn ich jetzt auf "http//:localhost/login.php" zugreifen möchte sollte mir eigentlich "Einloggen erfolgreich" angezeigt werden, doch mir wird stattdessen folgende Fehlermeldung angezeigt:

    Parse error: syntax error, unexpected '$result' (T_VARIABLE) in C:\wamp64\www\login.php on line 6

Ich habe diese Frage hier schon öfters gestellt aber immer unzureichende Antworten bekommen die mich leider nicht weiter gebracht haben, deswegen suche ich jemanden der mir konkret sagen kann welchen Code er noch braucht um sagen zu können woran es genau liegt.

Meine Frage:

Was ist an "Line 6" falsch und wie kann ich diesen Fehler beheben?

Falls ihr noch weitere Screenshots, Infos oder Codes braucht kann ich sie gerne nachreichen.

Ich hoffe mir kann nun endlich jemand helfen da ich mittlerweile seit 2 Wochen an diesem Problem hänge und einfach nicht weiter komme.

Den Anweisungen im Video habe ich 1 zu 1 gefolgt.

Danke im vor raus

LG Aaron

Antwort
von happyfish2, 18

Das vermeintliche Semikolon hinter dem SQL Query sieht aus wie ein Semikolon, ist aber keins, sondern ein "griechisches Fragezeichen". Einfach mal durch ein normales Semikolon ersetzen und dann gehts.

Kommentar von AaronWallerr ,

Ich kann nicht fassen das ich zwei Wochen an einem Semikolon fest hing.... Dankeschön hahhaha :P

Antwort
von LeBonyt, 14

Ich habe mal den Code mal auf meiner Maschine durchlaufen lassen.

Nach dem Semikolon des Mysql-Ausdruckes ist  ein winziges Quotezeichen, fast nicht zu sehen, hast Du aber bei GF glücklicherweise mit rüberkopiert.

Hat dein Editor denn kein Syntaxprüfung. Da würde so etwas auffallen. Ich benutze beruflich und privat netbeans.


Antwort
von MonkeyKing, 20

Ehrlich gesagt scheint an dem Code alles richtig zu sein. Bist du sicher, dass es 1 zu 1 der code ist den man oben lesen kann? Die Fehlermeldung weist eigentlich auf ein vergessenes Semikolon oder nicht geschlossene Anführungszeichen hin, das scheint aber alles ok zu sein. 

Wass passiert wenn du 

die Zeile

mysql_qry = "select * from benutzerdaten where username = '$user_name' and password = '$user_pass';";

in

mysql_qry = "select * from benutzerdaten;";

umwandelst? nur testweise.

Antwort
von Malemeister, 2

Hallo,

wenn dir das Video genau das gezeigt hat, dann hör auf dieses Video zu gucken. Meiner Meinung nach sind Videos sowieso nicht dazu geeignet um sowas zu machen.

Was du dringend beheben solltest: Das Passwort muss verhasht werden!

Mehr dazu findest du auf Google.

Grüße

Keine passende Antwort gefunden?

Fragen Sie die Community