2012-08-29 77 views
-1
$result2 = mysql_query($query, $con); 
      while($data2 = mysql_fetch_assoc($result2)) 
      { 
       $x = $data2["x"]; 
       $y = $data2["y"]; 
       echo "$x"; 
       echo "$y"; 
       if($x<0 && $y<0) 
       { 
        echo "village: $data[village] "; 
        echo "player: $data[player] "; 
        echo "position: ($data[x]|$data[y])<br>"; 
       } 
       else if($x>0 && $y>0) 
       { 
        echo "village: $data[village] "; 
        echo "player: $data[player] "; 
        echo "position: ($data[x]|$data[y])<br>"; 
       } 
       else if($x>0 && $y<0) 
       { 
        echo "village: $data[village] "; 
        echo "player: $data[player] "; 
        echo "position: ($data[x]|$data[y])<br>"; 
       } 
      } 

我收到错误未定义指数初始化

Notice: Undefined index: y in C:\xampp\htdocs\debal\nw_check_exec.php on line 48 

Notice: Undefined index: x in C:\xampp\htdocs\debal\nw_check_exec.php on line 47 

47行和48行是: -

$x = $data2["x"]; 
$y = $data2["y"]; 

我想我已经正确地做了所有的事情,我很无法找出错误的原因。

回答

1

合理$data2真的没有索引x所以你需要检查,并使用instat默认值。

您可以使用一个小的内嵌如果statment:

$x = isset($data2["x"]) ? $data2["x"] : 0; 
$y = isset($data2["y"]) ? $data2["y"] : 0; 

顺便说一句,你真的确定这么多的常量?例如。在这里:

$data[village] 

这意味着,必须有一个恒定的village可能与某些价值“村”?

也许你应该对攻,有:

$data["village"] 
+0

此问题的表具有列“X”“Y”,“村”,“播放器” – debal

+0

尝试的var_dump($数据2)检查是什么由数据库重新调用。是否有像预期的所有列? – rekire

+0

感谢var_dump的想法,这帮助我找出了我犯的错误......(一个错字)...... – debal