我正在上课,但我坚持使用一个功能。它通过用户名请求电子邮件地址,但它只返回null。
代码:
private function getUserEmail($username){
if($stmt = $this->_mysqli->prepare("SELECT email FROM users WHERE username='?'")){
$stmt->bind_param("s", $username);
$stmt->execute();
$stmt->bind_result($email);
$stmt->fetch();
var_dump($email);
$stmt->close();
return $email;
}
}
答案 0 :(得分:1)
尝试删除?
周围的单引号if($stmt = $this->_mysqli->prepare("SELECT email FROM users WHERE username=?")){
否则就不会认出来了?作为占位符。
请参阅documentation on syntax here:“即使您打算将它们绑定到字符串值,也不应将?字符括在引号内。”