mysql

php mysql数据库如何管理数据库连接

小樊
83
2024-11-14 23:14:37
栏目: 云计算

在PHP中,可以使用MySQLi或PDO(PHP Data Objects)扩展来管理MySQL数据库连接。以下是使用这两种方法管理数据库连接的示例:

  1. MySQLi:
<?php
// 数据库连接参数
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

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

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

// 查询数据
$sql = "SELECT * FROM your_table";
$result = $conn->query($sql);

// 处理查询结果
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
    }
} else {
    echo "0 结果";
}

// 关闭连接
$conn->close();
?>
  1. PDO:
<?php
// 数据库连接参数
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

try {
    // 创建连接
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    
    // 设置 PDO 错误模式为异常
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    // 查询数据
    $stmt = $conn->prepare("SELECT * FROM your_table");
    $stmt->execute();

    // 设置结果集为关联数组
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);

    // 处理查询结果
    foreach($stmt->fetchAll() as $row) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
    }
} catch(PDOException $e) {
    echo "连接失败: " . $e->getMessage();
}

// 关闭连接
$conn = null;
?>

在这两个示例中,我们首先定义了数据库连接参数(服务器名、用户名、密码和数据库名)。然后,我们使用MySQLi或PDO扩展创建一个到数据库的连接。接下来,我们执行一个查询并处理结果。最后,我们关闭数据库连接。

使用PDO的优点是它提供了一个更高级别的接口,可以用于多种数据库类型,而且它支持预处理语句和事务。然而,MySQLi扩展在某些情况下可能更快,特别是对于简单的查询。在选择使用哪个扩展时,请根据您的项目需求和性能要求来决定。

0
看了该问题的人还看了