这是一个关于如何使用准备好的语句更新 MySQL 数据库中的行的小教程。在这个例子中,我将使用 PHP 的 PDO 对象。
例如,假设我们有一个名为 cars 的表,并且我们想要更新 ID 为“90”(它是主键)的行。在这个特定的代码示例中,我们会将“model”列更新为“Civic”。
<?php
//Our MySQL connection details.
$host = 'localhost';
$user = 'root';
$pass = '';
$database = 'test';
//PDO options. These are optional.
$options = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES => false
);
//Connect to MySQL and create our PDO object.
$pdo = new PDO("mysql:host=$host;dbname=$database", $user, $pass, $options);
//Our UPDATE SQL statement.
$sql = "UPDATE `cars` SET `model` = :model WHERE id = :id";
//Prepare our UPDATE SQL statement.
$statement = $pdo->prepare($sql);
//The Primary Key of the row that we want to update.
$id = 90;
//The new model value.
$model = 'Civic';
//Bind our value to the parameter :id.
$statement->bindValue(':id', $id);
//Bind our :model parameter.
$statement->bindValue(':model', $model);
//Execute our UPDATE statement.
$update = $statement->execute();
对上述代码的深入分析:
- 我们使用 PDO 扩展连接到 MySQL。
- 我们使用占位符创建一个 UPDATE SQL 语句。在这种情况下,我们使用了占位符:model和:id。
- 我们准备我们的 UPDATE 语句。
- 我们将 $id 设置为 90,将 $model 设置为“Civic”。
- 我们将变量绑定到我们在步骤 2 中创建的占位符。
- 我们执行准备好的语句。正是在这个阶段更新了行。
进一步推荐阅读 PDO 和 MySQL: