我想创建我的MySQLi的第一个准备好的声明,因为我知道我做我的查询的方式是开放的SQL注入。PHP MySQLi准备声明
我真的不理解这个的bind_param和bind_result部分。有人能以最愚蠢的方式向我解释这一点吗?
这是我的查询工作。
$sql = "UPDATE formdata SET name = '$varName', email = '$varEmail', address = '$varAddress', city = '$varCity', state = '$varState', zip = '$varZip', submitDate = '$varDate' WHERE promoCode = '$varPromo'";
$mysqli->query($sql);
这里是我对准备好的声明的尝试。
$query = "UPDATE formdata SET name = ?, email = ?, address = ?, city = ?, state = ?, zip = ?, submitDate = ? WHERE promoCode = '$varPromo'";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("s", $varName, $varName, $varEmail, $varAddress, $varCity, $varState, $varZip, $varDate);
$stmt->execute();
$stmt->bind_result($varName, $varName, $varEmail, $varAddress, $varCity, $varState, $varZip, $varDate);
$stmt->fetch();
header("location: index.php?success=1");
exit();
特拉维斯,你为什么不从一些教程开始呢?我无法想象这两种方法不是以不同层次的细节和表述的口味来解释的。 http://php.net/mysqli.quickstart.prepared-statements – hakre