我是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。
提前致谢。
答案 0 :(得分:3)
您不能在函数的一侧声明类变量。您必须将它们移出方法,或者仅将它们作为本地函数的一部分:
选项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);