2010-02-11 55 views
0

我想在調用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

的情況下並不清楚,但它看起來好像$ 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(); 
+0

好的,我宣佈它是靜態的,但我仍然感到困惑,因爲我如何在課堂外訪問它。 – kylex 2010-02-11 15:36:42

+0

NM,算出來: CLASSNAME :: $ lastID; – kylex 2010-02-11 15:40:31

1

你不得不在屋裏生

global $lastId; 

使用這裏的相關文件http://ca.php.net/manual/en/language.variables.scope.php

+0

使用您不能聲明變量(在這種情況下,它的狀態將被跨越類的所有對象共享)'var'當它不是一個班級成員時。除非是方法,否則您也不能將函數聲明爲public。 – Yacoby 2010-02-11 15:34:30

相關問題