-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来访问变量,并且它还需要是public static

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 回答