使用execute_query[1]或使用prepare thenexecute[2]有什么区别,什么时候使用bind参数,为什么?就像示例 [2] 中一样,我们已经在执行中给出了变量,那么绑定参数什么时候更有用?
[1]
$stmt = $db->execute_query($Update, [$Date, $Email]);
[2]
$stmt = $db->prepare("INSERT INTO Users (Username, Email, Password, Creation_Date, VIP, Admin) VALUES (?,?,?,?,?,?)");
$stmt->execute([
$Username,
$Email,
$Password,
$Creation_date,
$VIP,
$Admin,
]);
请用你自己的话给出解释,因为我很难理解文档,而且它们并不总是清晰的! 预先感谢!
execute_query()
只是一个快捷方式,允许您将 prepare()
、bind_param()
、execute()
和 get_result()
组合到单个调用中。
由于您没有
mysqli_stmt
对象,因此有关查询的状态信息将放入 $db
对象中。例如,您可以使用 $stmt->affected_rows
,而不是 $db->affected_rows
。