php语法错误,意外的T_OBJECT_OPERATOR

时间:2011-12-17 22:36:19

标签: php mysql mysqli

我所做的是,我在我的Database类中使用了一个静态字段来存储mysqli对象。这是代码:

public static $Driver;

public static function Connect()
{
  self::$Driver = new mysqli(self::$Server, self::$DBUsername, self::$DBPassword, self::$DBName);
}

稍后,在另一个类中,我想使用这个静态字段。我试过这个:

if (Database::Driver->errno != 0) return(false); else return(true);

并在该行中出现此错误:

  

语法错误,意外T_OBJECT_OPERATOR ...

你能告诉我我做错了吗?

1 个答案:

答案 0 :(得分:5)

要访问静态属性,$后需要::。访问类属性$Driver,就像它是类Database范围内的变量一样。

 if (Database::$Driver->errno != 0)
 //-----------^^^

如果没有$,它将被解析为类常量,而常量(基元)不能具有自己的对象属性。因此unexpected T_OBJECT_OPERATOR,意味着意外的->