使用预备语句进行更新查询
使用 PHP 和 MySQL 执行更新查询时,建议使用预备语句以确保数据完整性并防止SQL注入。在最近关于 MySQL 的 UPDATE 语句的讨论中,用户寻求有关如何使用准备好的语句的指导。
解决方案
在 MySQL 中,准备好的语句遵循与 INSERT 类似的格式或 SELECT 语句。要对 UPDATE 查询使用准备好的语句,只需将所有变量值替换为问号 (?) 表示的占位符:
<code class="php">$sql = "UPDATE Applicant SET phone_number=?, street_name=?, city=?, county=?, zip_code=?, day_date=?, month_date=?, year_date=? WHERE account_id=?";</code>
准备好 SQL 语句后,创建一个准备好的语句对象:
<code class="php">$stmt = $db_usag->prepare($sql);</code>
接下来,将参数绑定到准备好的语句。以下示例假设 date 和 account_id 参数为整数 (d),其余参数为字符串 (s):
<code class="php">$stmt->bind_param('sssssdddd', $phone_number, $street_name, $city, $county, $zip_code, $day_date, $month_date, $year_date, $account_id);</code>
执行准备好的语句:
<code class="php">$stmt->execute();</code>
处理如果发生任何错误:
<code class="php">if ($stmt->error) { echo "FAILURE!!! " . $stmt->error; } else echo "Updated {$stmt->affected_rows} rows";</code>
最后,关闭准备好的语句:
<code class="php">$stmt->close();</code>
以上是如何使用准备好的语句在 MySQL 中安全地更新数据?的详细内容。更多信息请关注PHP中文网其他相关文章!