Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更新MYSQL数据库失败,为什么?_Php_Mysql - Fatal编程技术网

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);