public function getUserRoles()
{
public $query = "SELECT * FROM user_roles WHERE userID = ".floatval($this->userID)."ORDER BY addDate ASC";
if ($query_run = mysql_query($query))
{
public $resp = array();
while ($query_row = mysql_fetch_array($query_run))
{
$roleID = $query_row['roleID'];
}
return $resp;
}
}
我收到错误:解析错误:语法错误,/Applications/XAMPP/xamppfiles/htdocs/acltut/assets/php/class.acl.php 第 34 行中的意外T_PUBLIC.在这种情况下,第 34 行将是第 3 行,它说"公共$query"。
变量不应该被赋予"可见性"或"权限",如var/public/private/protected/etc?
如果是这样的话,下一行不是必须写成:
if (public $query_run = mysql_query($this->query)) {}
我对何时必须包含公共/私有/受保护并使用 $this-> 引用变量以及何时可以创建一个变量感到困惑。
公共、受保护和私有 为类函数(方法(和成员变量提供作用域解析。您必须执行以下操作:
class User
{
public $query;
public function getUserRoles()
{
$this->query = "SELECT * FROM user_roles WHERE userID = ".floatval($this->userID)."ORDER BY addDate ASC";
}
}
在$query
之前删除public
。 它不属于那里。