当我在我的网站上尝试注册时,出现了以下错误信息:严格标准:仅应传递变量。你能看出我的代码有什么问题吗?
public static function create(user $user){
$conn= DataBase::getDB();
$stmt=$conn->prepare("INSERT INTO `institute`.`user` (`id`, `name`, `surname`, `username`, `password`, `email`, `registration_number`) "
. "VALUES ('', :name, :surname, :username, :password, :email, :registration_number)");
$stmt->bindParam(':name', $user->getName());
$stmt->bindParam(':surname', $user->getSurname());
$stmt->bindParam(':username', $user->getUsername());
$stmt->bindParam(':password', $user->getpassword());
$stmt->bindParam(':email', $user->getEmail());
$stmt->bindParam(':registration_number', $user->getRegistration_number());
$stmt->execute();
}
bindParam()
函数的第二个参数是一个引用。你可以传递一个方法结果。但你可能想要使用bindValue()
函数。详见 http://php.net/manual/zh/pdostatement.bindvalue.php。 - AbraCadaver