25 数据库操作之连接数据库

在上一章中,我们学习了文件系统的操作,了解到如何读写文件以及进行文件管理。在本章中,我们将深入探讨数据库操作的第一步:连接数据库。无论是进行简单的数据存储,还是复杂的数据检索,对数据库的连接都是至关重要的。

1. 什么是数据库连接?

数据库连接是指在应用程序与数据库之间建立的通信通道。通过这个连接,我们可以发送SQL语句给数据库,从而实现数据的增、删、查、改操作。在 PHP 中,常用的数据库有 MySQL、PostgreSQL、SQLite 等,通常使用 PHP 的扩展库来实现链接和操作。

2. 使用 MySQL 数据库

在本教程中,我们将以 MySQL 数据库为例,讲解如何在 PHP 中连接数据库。

在连接数据库之前,确保你已经:

  • 在服务器上安装了 MySQL 数据库。
  • 创建了一个数据库和相应的用户,以及赋予了其访问权限。

2.1. 使用 MySQLi 扩展连接数据库

MySQLi(MySQL Improved)是 PHP 为 MySQL 提供的一个扩展,它增强了旧 MySQL 扩展的功能。下面是连接数据库的基本步骤:

代码示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// 数据库配置信息
$servername = "localhost"; // 数据库服务器
$username = "root"; // 数据库用户名
$password = ""; // 数据库密码
$dbname = "test_db"; // 数据库名称

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

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

在上述代码中,我们首先定义了数据库连接所需的参数:服务器地址、用户名、密码和数据库名称。然后,使用 new mysqli() 创建一个 MySQLi 的连接实例。通过 $conn->connect_error 可以检测到连接是否出现错误。

2.2. 使用 PDO 扩展连接数据库

PDO(PHP Data Objects)是一个更高级的数据库抽象层,允许在多种数据库系统间切换。使用 PDO 的优势在于它提供了一个统一的接口,可以很方便地进行数据库操作。

代码示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// 数据库配置信息
$dsn = "mysql:host=localhost;dbname=test_db;charset=utf8"; // 数据源名
$username = "root"; // 数据库用户名
$password = ""; // 数据库密码

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

在这个例子中,我们使用 PDO 的构造函数创建一个新的 PDO 连接实例,并设置了错误报告方式为异常,如果连接失败,将会抛出异常。

3. 连接数据库后的最佳实践

  • 使用环境变量:不要将数据库连接信息硬编码在代码中,建议使用环境变量或配置文件来管理敏感信息。

  • 关闭连接:虽然 PHP 会在脚本结束后自动关闭数据库连接,但在长时间靜态脚本中,手动关闭连接是一个良好的习惯。可以使用 $conn->close()null 来释放资源。

  • 处理异常:在实际应用中,应该使用 try...catch 来处理可能的异常,这样可以提高代码的稳健性。

4. 小结

本章中,我们学习了如何在 PHP 中建立与 MySQL 数据库的连接,以及使用 MySQLi 和 PDO 两种方法进行连接。在连接后,接下来我们将进入基本的 CRUD 操作。在常见的 web 应用中,CRUD 操作是与用户交互的主要方式,因此对其进行深刻理解非常重要。

在下一章中,我们将开始 abordar 对数据的基本操作,包括创建、读取、更新和删除数据。

25 数据库操作之连接数据库

https://zglg.work/php-lang-zero/25/

作者

IT教程网(郭震)

发布于

2024-08-14

更新于

2024-08-15

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论