[就像我在这里使用$_SESSION['userid']
:
function changeEmail($newEmail){
$stmt = $mysqli->prepare("update `users` set `email`=? where `userid`={$_SESSION['userid']} limit 1");
$stmt->bind_param('s',$newEmail);
return $stmt->execute();
}
因为:$_SESSION['userid']
的值是从数据库生成的(通过auto_increment整数),因此没有SQL注入的风险。另外,我假设连接值比绑定快一点。
是,但是您实际上不应该!
3分:
只要将变量输入直接放在SQL中,您的代码就容易受到SQL注入的攻击。始终使用数据绑定!