我对PHP和MySQL都很陌生。
我刚开始学习它们来运行游戏服务器。
我遇到的问题在apache错误日志中描述为:
[Mon Sep 04 01:00:16.928467 2017] [:error] [pid 3656:tid 784] [client 127.0.0.1:49401] PHP注意:未定义的变量:db in C:\ Program Files \ VertrigoServ \ www第24行\ sw_game_login.php
[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致命错误:在C中调用null上的成员函数fetch_row():第24行\ Program Files \ VertrigoServ \ www \ sw_game_login.php
[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 =&# 39; $传递'"))){
我从游戏客户端收到的错误说不正确的帐号或密码,我知道这不是我尝试了几次并多次检查的情况。因此,让我相信可能没有正确发送请求。
提前感谢任何帮助!
答案 0 :(得分:1)
根据您的错误日志,您的db变量未定义。将其添加到sw_game_login.php脚本的顶部。
if (!isset($db))
$db = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);