PHP类变量为public,给出错误


PHP class variables as public giving an error

我真的是php类的新手,现在我的代码出现了一个错误。我已经阅读了一些关于类之类的PHP文档,但有些东西现在不能正常工作。

这是代码

public function change_salts($user_id) {
        global $mysqli_db;
        public $new_salt_one = "LOL"; //SaltyLogin::makesalt(60);
        private $new_salt_two = SaltyLogin::makesalt(60);
        mysqli_query($mysqli_db, "UPDATE `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_SALTS)."` SET `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_SALTS_SALT_ONE)."`='".$new_salt_one."' WHERE `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_USER_ID)."` = '".SaltyLogin::sanitize($user_id)."'");
        mysqli_query($mysqli_db, "UPDATE `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_SALTS)."` SET `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_SALTS_SALT_TWO)."`='".$new_salt_two."' WHERE `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_USER_ID)."` = '".SaltyLogin::sanitize($user_id)."'");
    }

现在这是我经常遇到的错误。

Parse error: syntax error, unexpected 'public' (T_PUBLIC) in C:'xampp'htdocs'GitHub'Salty-login'functions.php on line 60

对于完整的源代码,请查看github并自然分支wip-2。

提前谢谢。

您不能在函数中声明类变量。您必须将它们从方法中移出,或者使它们仅在函数的本地:

选项1

public $new_salt_one = "LOL"; 
private $new_salt_two = '';
public function change_salts($user_id) {
    global $mysqli_db;
    $this->new_salt_two = SaltyLogin::makesalt(60);
    mysqli_query($mysqli_db, "UPDATE `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_SALTS)."` SET `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_SALTS_SALT_ONE)."`='".$this->new_salt_one."' WHERE `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_USER_ID)."` = '".SaltyLogin::sanitize($user_id)."'");
    mysqli_query($mysqli_db, "UPDATE `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_SALTS)."` SET `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_SALTS_SALT_TWO)."`='".$this->new_salt_two."' WHERE `".SaltyLogin::sanitize(SALTY_MYSQLI_TB_USER_ID)."` = '".SaltyLogin::sanitize($user_id)."'");
}

选项2

$new_salt_one = "LOL"; 
$new_salt_two = SaltyLogin::makesalt(60);
相关文章: