-2

次のようなPHPコードがあるとします。

class modual {
  public $glo;

  static public function SaveData($RDesTechni = 1,$RCapacity = 2){
    try{
      $sql = "INSERT INTO tblworkfaire VALUES('',$RDesTechni,$RCapacity)";
      $qry=mysql_query($sql) or die (mysql_error());
      $id = mysql_insert_id();
      $glo = $id;
    }
    catch(exception $e){
      echo $e;
    }
  }

  static public function ListData(){
    try {
      include("connectdb.php");

      $query = "SELECT * FROM tblworkfaire where id=".$glo;

      return $query;
    }
    catch(exception $e){
      echo $e;
    }
  }
}

必要なもの:

$id関数で使用したいのですstatic public function ListData()が、動作しません。

問題:

動作しませんエラーが表示されundefined $gloますこれを修正するにはどうすればよいですか?誰か助けてください。ありがとう。

4

2 に答える 2

0

必要なパラメーターを関数に渡すことを検討しましたか?

static public function ListData( $glo ){

メソッドを呼び出すときは、idの値を含めます。

$myModual->ListData($id);

一般に、グローバル変数を使用するよりも、変数を関数に渡す方が適切な設計です。

クラスのオブジェクトが初期化されるときに$gloの値を格納するように、クラスのコンストラクターを作成することもできます。

于 2012-09-19T01:54:59.950 に答える
0

変数にアクセスするにはselfを使用する必要があり、 publicstaticである必要もあります。

class modual {
  public static $glo;

  static public function SaveData($RDesTechni = 1,$RCapacity = 2){
    try{
      self::$glo = 5;
    }
    catch(exception $e){
      echo $e;
    }
  }

  static public function ListData(){
    echo self::$glo;
  }
}
于 2012-09-19T02:17:06.540 に答える