This is an explanation of the video content.
 用技术延续对ACG的热爱
145

 |   | 

PHP使用PDO对数据库进行增删改查

使用PDO进行数据库的增删改查(CRUD)操作时,可以按照以下示例进行操作:

连接数据库

$host = "localhost";
$db = "your_database";
$user = "your_username";
$password = "your_password";

try {
    $pdo = new PDO("mysql:host=$host;dbname=$db;charset=utf8", $user, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die("连接数据库失败: " . $e->getMessage());
}

在上述代码中,我们通过PDO的构造函数创建了一个PDO对象,并指定了数据库的主机、名称、用户名和密码。还设置了错误报告模式为ERRMODE_EXCEPTION,以便在出现错误时抛出异常。

插入数据

$sql = "INSERT INTO your_table (column1, column2, column3) VALUES (:value1, :value2, :value3)";
$stmt = $pdo->prepare($sql);

$value1 = "some_value";
$value2 = "another_value";
$value3 = "more_value";

$stmt->bindParam(':value1', $value1);
$stmt->bindParam(':value2', $value2);
$stmt->bindParam(':value3', $value3);

// 执行SQL语句
if ($stmt->execute()) {
    // 执行成功
    $lastInsertId = $pdo->lastInsertId();
    echo "插入成功,插入的ID为:" . $lastInsertId;
} else {
    // 执行失败
    echo "插入失败";
}

在上述代码中,我们使用PDO的prepare方法准备了插入数据的SQL语句,并使用命名占位符(:value1,:value2,:value3)来代替实际的值。然后,我们使用bindParam方法将变量绑定到占位符上,并执行execute方法来执行插入操作。

查询数据

$sql = "SELECT * FROM your_table";
$stmt = $pdo->query($sql);

$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

// 遍历查询结果
foreach ($result as $row) {
    echo "ID: " . $row['id'] . "<br>"; // 假设你的表中有一个名为'id'的列
    echo "Column1: " . $row['column1'] . "<br>";
    echo "Column2: " . $row['column2'] . "<br>";
    echo "Column3: " . $row['column3'] . "<br>";
    echo "<hr>"; // 输出一个水平线作为分隔
}

在上述代码中,我们使用PDO的query方法执行了查询操作,并将查询结果使用fetchAll方法获取为关联数组。

更新数据

$sql = "UPDATE your_table SET column1 = :value1, column2 = :value2 WHERE id = :id";
$stmt = $pdo->prepare($sql);

$value1 = "new_value1";
$value2 = "new_value2";
$id = 1;

$stmt->bindParam(':value1', $value1);
$stmt->bindParam(':value2', $value2);
$stmt->bindParam(':id', $id);

// 执行更新操作
if ($stmt->execute()) {
    // 更新成功
    echo "更新成功";
} else {
    // 更新失败
    echo "更新失败";
}

在上述代码中,我们使用PDO的prepare方法准备了更新数据的SQL语句,并使用命名占位符来指定要更新的列和条件。然后,我们使用bindParam方法将变量绑定到占位符上,并执行execute方法来执行更新操作。

删除数据

$sql = "DELETE FROM your_table WHERE id = :id";
$stmt = $pdo->prepare($sql);

$id = 1;

$stmt->bindParam(':id', $id);

// 执行删除操作
if ($stmt->execute()) {
    // 删除成功
    echo "删除成功";
} else {
    // 删除失败
    echo "删除失败";
}

在上述代码中,我们使用PDO的prepare方法准备了删除数据的SQL语句,并使用命名占位符来指定要删除的条件。然后,我们使用bindParam方法将变量绑定到占位符上,并执行execute方法来执行删除操作。

145 ⚙️服务端 ↦ PHP从0到1手把手教程 __ 248 字
 PHP从0到1手把手教程 #7