2017-09-03 109 views
-1

我对PHP和MySQL都很陌生。PHP和MySQL用户帐户

我只开始学习它们来运行游戏服务器。

我遇到了在Apache的错误日志descriped的问题:

[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

线sw_game_login.php 24如下所示:

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

我从游戏中收到的错误客户说,不正确的帐户或密码,我知道这是不是我已经尝试了几次,并检查了几次。因此导致我相信,也许请求没有正确发送。

在此先感谢任何帮助!

回答

1

根据你的错误日志,你的db变量是未定义的。将其添加到sw_game_login.php脚本的顶部。

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

也许我们应该在输入验证/消毒时讲授输入验证/消毒? :) –