2024-04-20

如何使用 PHP 连接数据库?

连接数据库指南:建立连接:使用 mysqli 或 pdo 建立数据库连接。pdo 连接方法:使用面向对象风格、pdostatement 或简写方式连接 pdo。实战案例:按 userid 查询用户。关闭连接:完成操作后关闭数据库连接。

如何使用 PHP 连接数据库?

使用 PHP 连接数据库

简介

在 PHP 中连接数据库是开发 Web 应用程序的一项基本任务。本文将指导您逐步完成使用 PHP 连接到各种类型数据库所需的过程。

建立连接

要建立数据库连接,可以使用以下代码:

$servername = "localhost";
$username = "username";
$password = "password";
$database = "dbname";

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

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

echo "成功连接到数据库";
登录后复制

使用 PDO

PDO(PHP 数据对象)是一种更强大的连接方法,它为不同类型的数据库提供了统一的接口。有三种建立 PDO 连接的方法:

1、面向对象风格

$host = "localhost";
$port = "3306"; // MySQL 的默认端口
$dbname = "dbname";
$username = "username";
$password = "password";

$dsn = "mysql:dbname=$dbname;host=$host;charset=UTF8;port=$port";

try {
    // 创建连接
    $conn = new PDO($dsn, $username, $password);
    // 设置错误信息模式
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "成功连接到数据库";
} catch (PDOException $e) {
    echo "连接失败: " . $e->getMessage();
}
登录后复制

2、使用 PDOStatement

$host = "localhost";
$database = "dbname";
$username = "username";
$password = "password";

// 创建连接
$conn = new PDO("mysql:host=$host;dbname=$database", $username, $password);

// 创建准备语句
$stmt = $conn->prepare("SELECT * FROM users");
$stmt->execute();

// 遍历结果
while ($result = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo "ID: " . $result['id'] . ", 名称: " . $result['name'] . "<br>";
}
登录后复制

3、简写方式

$dsn = "mysql:dbname=mydb;host=localhost";
$conn = new PDO($dsn, $username, $password);
登录后复制

实战案例:按 userId 检索用户

$userId = 1;

// 查询语句
$stmt = $conn->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("i", $userId); // i 表示整数
$stmt->execute();

// 获取结果
$result = $stmt->get_result();

if ($row = $result->fetch_assoc()) {
    echo "名称: " . $row['name'] . "<br>";
    echo "电子邮件: " . $row['email'] . "<br>";
} else {
    echo "没有找到用户";
}
登录后复制

关闭连接

执行完数据库操作后,请务必关闭连接以释放资源:

$conn->close();
登录后复制

以上就是如何使用 PHP 连接数据库?的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/757080.html

发表回复

Your email address will not be published. Required fields are marked *