2017-09-03 2 views
-1

Ich bin sehr neu in PHP und MySQL.PHP und MySQL Benutzerkonten

Ich habe erst begonnen, sie zu lernen, einen Spieleserver zu betreiben.

Das Problem, das ich in laufen im Apache-Fehlerprotokoll als descriped ist:

[Mon Sep 04 01:00:16.928467 2017] [:error] [pid 3656:tid 784] [client 127.0.0.1:49401] PHP Notice: Undefined variable: db in C:\Program Files\VertrigoServ\www\sw_game_login.php on line 24

[Mon Sep 04 01:00:16.928467 2017] [:error] [pid 3656:tid 784] [client 127.0.0.1:49401] PHP Stack trace:

[Mon Sep 04 01:00:16.928467 2017] [:error] [pid 3656:tid 784] [client 127.0.0.1:49401] PHP 1. {main}() C:\Program Files\VertrigoServ\www\sw_game_login.php:0

[Mon Sep 04 01:00:16.928467 2017] [:error] [pid 3656:tid 784] [client 127.0.0.1:49401] PHP Fatal error: Call to a member function fetch_row() on null in C:\Program Files\VertrigoServ\www\sw_game_login.php on line 24

[Mon Sep 04 01:00:16.928467 2017] [:error] [pid 3656:tid 784] [client 127.0.0.1:49401] PHP Stack trace:

[Mon Sep 04 01:00:16.928467 2017] [:error] [pid 3656:tid 784] [client 127.0.0.1:49401] PHP 1. {main}() C:\Program Files\VertrigoServ\www\sw_game_login.php:0

Linie 24 von sw_game_login.php sieht wie folgt aus:

if(list($id)=$db->fetch_row($db->query("SELECT ID FROM accounts WHERE ACCOUNT_NAME='$account' AND ACCOUNT_PASSWORD='$pass'"))){

Der Fehler erhalte ich von meinem Spiel Client sagt, dass falsche Konto oder Passwort, ich weiß, das ist nicht der Fall Ich habe mehrere versucht und mehrmals überprüft. Das führt mich zu der Annahme, dass die Anfrage vielleicht nicht richtig weitergeleitet wird.

Vielen Dank im Voraus für jede Hilfe!

Antwort

1

Gemäß Ihrem Fehlerprotokoll ist Ihre db-Variable nicht definiert. Fügen Sie dies am Anfang Ihres sw_game_login.php-Skripts hinzu.

if (!isset($db)) 
    $db = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); 
+0

Vielleicht sollten wir über Eingabe Validierung/Desinfektion lehren, während Sie dabei sind? :) –