Was ist an folgendem PHP Code Falsch?

... komplette Frage anzeigen

5 Antworten

In deiner conn.php scheinst du die mysqli_connect() aufzurufen. Ist $conn definiert? Offenbar schlug mysqli_connect() fehl. Hänge dort folgendes an:

$conn = mysqli_connect(...) OR die('Could not connect: '.mysqli_connect_error())

Vielleicht ist da bereits der Fehler.

Sollte $conn nicht definiert sein, ist es zwar in der conn.php verfügbar, jedoch nicht global in der login.php.

Ansonsten hat RakonDark ja bereits auf den Fehler mit dem Gleichzeichen hingewiesen:

$mysql_qry = "select * from benutzername where username = '$user_name'  AND password = '$user_pass'; ";
Antwort bewerten Vielen Dank für Deine Bewertung

Wollte das nur mal als Gelegenheit nutzen um dich auf SQL Injections hin zu weisen :3 da solltest du dir doch eventuell mal n paar Sachen zu anschauen und bedenken wenn du schon was mit SQL machst :3 http://www.w3schools.com/sql/sql\_injection.asp auf der Seite findest du vielleicht auch mehr Infos zu SQL falls du da Probleme hast :3 Ich war da aber leider da bisher zu Faul und kann dir deswegen nicht helfen :D

Antwort bewerten Vielen Dank für Deine Bewertung

Deine SQL Query ist wsl falsch. Führ die zB mal in PHPMyAdmin aus um zu sehen ob die richtig funktioniert.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von AaronWallerr
23.10.2016, 01:53

Beschäftige mich erst seit gestern mit dem Thema Datenbanken. Kannst du mir beschreiben wie das geht? Also was ich machen soll wenn ich in PHPMyAdmin drin bin. Danke

0
Kommentar von triopasi
23.10.2016, 01:55

Wenn du ne Tabelle gewählt hast, gibts nen Tab der heisst "SQL". Da kannst du SQL abfragen direkt eintippen - das ist zum testen sehr praktisch! Kann es sein, dass du einfach ein =-Zeichen vergessen hast im SQL?

0
Kommentar von AaronWallerr
23.10.2016, 01:55

Also das hier wird mir zumindest Angezeigt in PHPMyAdmin: 

 Showing rows 0 - 0 (1 total, Query took 0.0003 seconds.)

0


dein fehler is im query


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



Ich schreib das mal sauber lesbar und korrigiert

"SELECT *
    FROM benutzername
    WHERE username = '$user_name'  AND password = '$user_pass' "


Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von AaronWallerr
23.10.2016, 02:11

Habe den Code jetzt mit dem Gleichzeichen verbessert:

<?php

require "conn.php";
$user_name = "123";
$user_pass = "123";
$mysql_qry = "select * from benutzername 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";
}

?>

Funktionieren tut es nach wie vor nicht. Wie bereits im obrigen Kommentar erwähnt habe ich momentan noch ziemlich wenig Ahnung von dem ganzen. Wäre nett wenn du mir Konkret sagen könntest wie ich diesen Fehler behebe.

0

mysqli_query

Returns FALSE on failure

also hat dein mysqli_query schon nicht funktioniert . bzw gibt false zurück und kein ergebnis .

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?