PHP作为一种流行的服务器端脚本语言,在Web开发中扮演着重要角色。数据库调用是PHP开发中不可或缺的一部分。本文将介绍PHP中数据库调用的核心技巧,并通过实战案例来加深理解。

一、PHP与数据库的连接

在PHP中,常见的数据库连接方式有MySQLi和PDO。以下分别介绍这两种方法的连接过程。

1. MySQLi

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
?>

2. PDO

<?php
$dsn = "mysql:host=localhost;dbname=myDB";
$username = "username";
$password = "password";

try {
    $conn = new PDO($dsn, $username, $password);
    // 设置 PDO 错误模式为异常
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo "连接失败: " . $e->getMessage();
}
?>

二、执行SQL语句

1. 插入数据

<?php
$sql = "INSERT INTO table_name (column1, column2)
VALUES ('value1', 'value2')";

if ($conn->query($sql) === TRUE) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

2. 查询数据

<?php
$sql = "SELECT column1, column2 FROM table_name";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo "column1: " . $row["column1"]. " - column2: " . $row["column2"]. "<br>";
    }
} else {
    echo "0 结果";
}

$conn->close();
?>

3. 更新数据

<?php
$sql = "UPDATE table_name SET column1='value1', column2='value2' WHERE column3='value3'";

if ($conn->query($sql) === TRUE) {
    echo "记录更新成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

4. 删除数据

<?php
$sql = "DELETE FROM table_name WHERE column1='value1'";

if ($conn->query($sql) === TRUE) {
    echo "记录删除成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

三、事务处理

在数据库操作中,事务处理是非常重要的。以下是一个使用PDO进行事务处理的示例:

<?php
try {
    // 开始事务
    $conn->beginTransaction();

    // 执行多个SQL语句
    $sql1 = "UPDATE table_name SET column1='value1' WHERE id=1";
    $conn->exec($sql1);

    $sql2 = "UPDATE table_name SET column2='value2' WHERE id=2";
    $conn->exec($sql2);

    // 提交事务
    $conn->commit();
    echo "事务提交成功";
} catch(PDOException $e) {
    // 如果发生错误,回滚事务
    $conn->rollBack();
    echo "事务回滚,发生错误:" . $e->getMessage();
}
?>

四、总结

通过以上内容,我们学习了PHP中数据库调用的核心技巧,包括连接数据库、执行SQL语句和事务处理等。在实际项目中,我们需要根据具体情况选择合适的数据库连接方式和SQL语句,以达到最佳的性能和效果。希望本文能帮助你更好地掌握PHP数据库调用技术。