0
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;
    }
}

我收到错误消息: Parse error: syntax error, unexpected T_PUBLIC in /Applications/XAMPP/xamppfiles/htdocs/acltut/assets/php/class.acl.php 在第 34 行。在这种情况下,第 34 行将是第 3 行它说“公共$查询”。

变量不应该像 var/public/private/protected/etc 一样被赋予“可见性”或“权限”吗?

如果是这样的话,下一行不是必须写成:

if (public $query_run = mysql_query($this->query)) {}

我对何时必须包含 public/private/protected 并使用 $this-> 引用变量以及何时可以创建变量感到困惑。

4

2 回答 2

6

Public、protected 和 private 为类函数(方法)和成员变量提供范围解析。您必须执行以下操作:

class User
{
    public $query;

    public function getUserRoles()
    {
        $this->query = "SELECT * FROM user_roles WHERE userID = ".floatval($this->userID)."ORDER BY addDate ASC";
    }
 }
于 2012-02-27T00:09:01.823 回答
2

删除public之前$query。它不属于那里。

于 2012-02-27T00:09:27.547 回答