-1

わかりました、これは非常に一般的なようですが、私が読んだことのどれも私を助けませんでした.私の変数が設定されていないように見える理由を知っている人はいます..

編集:申し訳ありませんが、エラーの場所を忘れてしまいました.169行目です.

if($world['$queryi'] != 0)

<?php

  if(isset($_GET['upgrade']))
  {
  if($_GET['upgrade'] > 0 && $_GET['upgrade'] < 15){ 

  $_GET['upgrade'];
  $id = $_GET['upgrade'];
  $queryi = "column_$id"; // This shows as undefined.
  $querye = "column_name_$id"; // This shows as undefined

  //When printing them out alone, they are defined, with the value i need them to be.

  if($id>=1 && $id <=14)
  {
//$world[] <- array from outside of the $_GET area (ive tried having it inside, same error)

   if($world['$queryi'] != 0)
   {

   }
   else
   {

       echo "query turned out zero";
   }

  }
  else
  {
      echo "something went wrong.";
  }
 }
 }

?>

//EDIT this is the arrayQUery which seems to be causing the problem..
$query = "SELECT * from this WHERE userid='".$user['id']."'";

$result = mysql_query($query);
$world=mysql_fetch_array($result);

誰にも手がかりがありますか、何が悪いのですか?

4

2 に答える 2

1

変化する

$_GET['upgrade'];
$id = $_GET['upgrade'];
$queryi = "column_$id"; // This shows as undefined.
$querye = "column_name_$id"; // This shows as undefined

if(isset($_GET['upgrade'])) { 
    $id = $_GET['upgrade'];
} else {
    $id = 1;
}

$queryi = "column_" . $id; // This shows as undefined.
$querye = "column_name_" . $id; // This shows as undefined

トリックを行う必要があります。

また、この行が設定されているかどうかを確認する必要があります..これによりエラーが発生すると思います..:

if($world['$queryi'] != 0)

次のように変更します。

if(isset($world[$queryi]) && $world[$queryi] != 0)
于 2013-10-11T06:57:30.467 に答える
0

あなたのコメントによると、私はあなたのコードで次の問題を見つけました

この行で $queryi を一重引用符で囲んだのはなぜですかif($world['$queryi'] != 0)。一重引用符は文字列が真実ではないことを意味します。あなたのコードは、インデックス「$queryi」を検索することを意味します。しかし、あなたがしたいのは、この文字列 index => を検索したいということです"column_name_$id"。したがって、一重引用符を削除するか、二重引用符に変更してください。

したがって、正しいコードは

if($world[$queryi] != 0)

于 2013-10-11T07:10:19.483 に答える