外部世界可以访问的函数内的变量

时间:2010-02-11 15:22:05

标签: php mysql

我想在调用raw时访问$ lastID是否有办法执行此操作?

public static $lastID;  
public function raw($sql){

    if(!$result = mysql_query($sql)){
        throw new Exception("Could not perform query: " .mysql_error());
    }

    self::$lastID = mysql_insert_id();
    return($result);

}

编辑:它是一个类成员,它是静态的。

2 个答案:

答案 0 :(得分:2)

上下文不清楚,但看起来好像$ lastID是一个类memeber,在这种情况下从你应该使用的类的方法中访问它:

$this->lastID;

我可以在您的代码中看到的另一个问题是此行不起作用

self::$lastID = mysql_insert_id();

由于$lastID不是静态的。将$lastID声明为静态(在这种情况下,其状态将在类的所有对象之间共享)

//change this
var $lastID; 

//to this to declare $lastID as static
static $lastID;

或使用$this->而不是self::

$this->lastID = mysql_insert_id();

答案 1 :(得分:1)

你必须在内部使用

global $lastId;

以下是相关文档http://ca.php.net/manual/en/language.variables.scope.php