Php 更新MYSQL数据库失败,为什么?
我在Php 更新MYSQL数据库失败,为什么?,php,mysql,Php,Mysql,我在require_中使用这个脚本一次('../getdata/cs getdata.php') 当我转到更新MYSQL数据库的链接时,它不会显示任何错误,但数据库中的行是空的 这在我的cs-getdata.php文件@bottom中,因此它可以用正确的值更新所有服务器。。。(不知道如何更好地解释) list($ip,$port)=分解(“:”,“行['ip']”); $cstrike=新的cstrike_统计(); $cstrike->setHostname(“$ip”); $cstrike-
require_中使用这个脚本一次('../getdata/cs getdata.php')代码>
当我转到更新MYSQL数据库的链接时,它不会显示任何错误,但数据库中的行是空的
这在我的cs-getdata.php文件@bottom中,因此它可以用正确的值更新所有服务器。。。(不知道如何更好地解释)
list($ip,$port)=分解(“:”,“行['ip']”);
$cstrike=新的cstrike_统计();
$cstrike->setHostname(“$ip”);
$cstrike->setPort($port)代码>
我的问题是,它无法获取服务器信息/并且将空值放入数据库。哦,天哪,为什么没有人注意到我的愚蠢错误
$serverid = mysql_query("SELECT * FROM serveripank");
while($row = mysql_fetch_array($serverid)) {
require_once('../getdata/cs-getdata.php');
$result = $cstrike->getData();
$SNAME = $result['cstrike']['ServerVars']['servername']; //Server name
$SMAP = $result['cstrike']['ServerVars']['mapname']; //Map name
$SCP = $result['cstrike']['ServerVars']['currentplayers']; //Server Current Players
$SMP = $result['cstrike']['ServerVars']['maxplayers']; //Server Max Players
// Servers name MAX 25 letters & Map
$SNAME = substr($SNAME, 0, 25);
$SMAP = substr($SMAP, 0, 20);
$id = $row['id'];
mysql_query("UPDATE serveripank SET players = '$SCP' WHERE id = '$id'");
mysql_query("UPDATE serveripank SET maxplayers = '$SMP' WHERE id = '$id'");
mysql_query("UPDATE serveripank SET map = '$SMAP' WHERE id = '$id'");
mysql_query("UPDATE serveripank SET srname = '$SNAME' WHERE id = '$id'");
}
应该是
list($ip, $port) = explode(":", "row['ip']");
$cstrike = new cstrike_statistics();
$cstrike->setHostname('$ip');
$cstrike->setPort($port);
错误是:$row['ip']
尝试输出查询,并确保执行echo mysql_error()代码>查看任何错误输出?对不起,我英语不好,我不太懂。。我做了mysql_错误回显,没有显示任何错误。@Kristjan我的意思是,使用echo
(echo“UPDATE…”
)输出查询并查看它们包含什么。我有大约50台需要更新的服务器,还有$SNAME、$SMAP等等。。。不要包含任何内容。。。为什么会这样?@Kristjan但问题不是查询,而是cstrike->getData()
,不是吗?应该是$cstrike->setHostname($ip)没有单引号的代码>不会向数据库添加任何内容。因为这是你的工作。不是任何人的elseYeah,但是像我这样的初学者需要这些东西的帮助。好啊
list($ip, $port) = explode(":", "$row['ip']");
$cstrike = new cstrike_statistics();
$cstrike->setHostname('$ip');
$cstrike->setPort($port);