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 on line 34.Line 34 この場合、Line 34 は 3 行目になります。 「public $query」と表示されます。

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 に答える