- 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函数已过时,不建议在新项目中使用。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫