gom*_*gom -1 php mysql mysqli sql-injection prepared-statement
就像我在$_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();
}
Run Code Online (Sandbox Code Playgroud)
因为: 的值$_SESSION['userid']是从数据库生成的(通过 auto_increment 整数)所以没有 SQL 注入的风险。另外,我假设连接值比绑定快一点。
是的,但你真的不应该!
3分:
只要您将变量输入直接放在 SQL 中,您的代码就容易受到 SQL 注入的攻击。始终使用数据绑定!
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |