- A+
所属分类:PHP
php 连接数据库的方法有很多,以下介绍三种最常用的
使用 MySQLi 扩展连接到 MySQL 数据库
<?php
$servername = "localhost"; // 数据库服务器的名称
$username = "username"; // 数据库用户名
$password = "password"; // 数据库密码
$dbname = "database"; // 数据库名称
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {die("连接失败:" . $conn->connect_error);
}
echo "连接成功";
// 关闭连接
$conn->close();
?>
使用 PDO(PHP Data Objects)连接到各种数据库
<?php
$servername = "localhost"; // 数据库服务器的名称
$username = "username"; // 数据库用户名
$password = "password"; // 数据库密码
$dbname = "database"; // 数据库名称
try {
// 创建连接
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";
} catch(PDOException $e) {echo "连接失败:" . $e->getMessage();
}
// 关闭连接
$conn = null;
?>
使用原始的 MySQL 函数连接到 MySQL 数据库
<?php
$servername = "localhost"; // 数据库服务器的名称
$username = "username"; // 数据库用户名
$password = "password"; // 数据库密码
$dbname = "database"; // 数据库名称
// 创建连接
$conn = mysql_connect($servername, $username, $password);
// 检查连接是否成功
if (!$conn) {die("连接失败:" . mysql_error());
}
// 选择数据库
mysql_select_db($dbname, $conn);
echo "连接成功";
// 关闭连接
mysql_close($conn);
?>
以上每种代码的利弊
使用 MySQLi 扩展连接到 MySQL 数据库
利点:
缺点:
- 只能用于连接 MySQL 数据库,不支持其他数据库类型。
- 代码相对比较繁琐,需要显式地进行连接、关闭连接等操作。
使用 PDO(PHP Data Objects)连接到各种数据库
利点:
- 支持多种数据库,包括 MySQL、SQLite、Oracle 等,具有很好的跨数据库兼容性。
- 提供了统一的 API 和方法,使得切换不同数据库更加方便。
- 支持预处理语句,可以有效地防止 SQL 注入攻击。
缺点:
- 需要 PHP 安装 PDO 扩展以及相应的数据库驱动程序。
- 某些数据库特定的功能可能无法使用,因为 PDO 只提供了通用的数据库操作接口。
使用原始的 MySQL 函数连接到 MySQL 数据库
利点:
- MySQL 函数是 PHP 的内置函数,无需其他扩展库或模块。
- 在某些老旧的项目中可能已经广泛使用,因此保持代码的一致性。
缺点:
- 安全性较差,容易受到 SQL 注入攻击。
- 只能用于连接 MySQL 数据库,不支持其他数据库类型。
- 在 PHP7 及以上版本中已被废弃,并从 PHP8 开始移除,因此不推荐在新项目中使用。
总体而言,建议使用 PDO 或 MySQLi 来连接数据库。它们提供了更好的安全性、更多的功能和更好的扩展性,适用于各种数据库类型,并且具备更好的错误处理机制。PDO 在跨数据库兼容性方面表现较好,而 MySQLi 则提供了更多面向对象的特性。原始的 MySQL 函数已过时,不建议在新项目中使用。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫