2012-08-29 80 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