下面是我为你提供的“PHP连接MySQL数据库三种实现方法”的完整攻略。
PHP连接MySQL数据库三种实现方法
在使用PHP解决一些较为复杂的业务逻辑时,我们通常会用到数据库来存储数据。而连接数据库也成了PHP必须要掌握的技能。今天我们来讲一讲PHP连接MySQL数据库的三种实现方法。
1. 使用mysqli扩展
mysqli是PHP对MySQL官方提供的API做的一个封装,相对于原生的mysql扩展来说,使用起来更加简单和安全。下面是连接MySQL数据库的基本步骤:
1.1 连接MySQL数据库
<?php
$host = 'localhost'; // 数据库主机名
$user = 'root'; // 数据库用户名
$password = ''; // 数据库密码
$dbname = 'testdb'; // 数据库名
$port = 3306; // 数据库端口号,可选
// 创建连接
$conn = new mysqli($host, $user, $password, $dbname, $port);
// 检查连接是否有效
if ($conn->connect_error) {
die('连接失败:' . $conn->connect_error);
}
echo '连接成功';
?>
1.2 执行SQL语句
<?php
// SQL语句
$sql = "SELECT * FROM users";
// 执行查询
$result = $conn->query($sql);
// 处理查询结果
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "name: " . $row["name"] . " - email: " . $row["email"] . "<br>";
}
} else {
echo "0 结果";
}
// 释放查询结果内存
$result->free_result();
?>
1.3 关闭连接
<?php
// 关闭连接
$conn->close();
echo '连接已关闭';
?>
2. 使用PDO扩展
PDO是PHP对所有数据库进行的一个抽象,使用起来比mysqli扩展更加灵活。下面是连接MySQL数据库的基本步骤:
2.1 连接MySQL数据库
<?php
$host = 'localhost'; // 数据库主机名
$user = 'root'; // 数据库用户名
$password = ''; // 数据库密码
$dbname = 'testdb'; // 数据库名
// 数据库连接
try {
$dsn = "mysql:host=$host;dbname=$dbname;charset=utf8mb4";
$pdo = new PDO($dsn, $user, $password);
// 开启PDO的异常处理模式
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";
} catch (PDOException $e) {
echo "连接失败:" . $e->getMessage();
}
?>
2.2 执行SQL语句
<?php
// SQL语句
$sql = "SELECT * FROM users";
// 执行查询
$stmt = $pdo->query($sql);
// 处理查询结果
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "name: " . $row["name"] . " - email: " . $row["email"] . "<br>";
}
// 释放查询结果内存
$stmt->closeCursor();
?>
2.3 关闭连接
<?php
// 关闭连接
$pdo = null;
echo '连接已关闭';
?>
3. 使用PDO扩展和预处理语句
预处理语句是一种可以防止SQL注入攻击的方式。下面是连接MySQL数据库并使用预处理语句的基本步骤:
3.1 连接MySQL数据库
<?php
$host = 'localhost'; // 数据库主机名
$user = 'root'; // 数据库用户名
$password = ''; // 数据库密码
$dbname = 'testdb'; // 数据库名
// 数据库连接
try {
$dsn = "mysql:host=$host;dbname=$dbname;charset=utf8mb4";
$pdo = new PDO($dsn, $user, $password);
// 开启PDO的异常处理模式
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";
} catch (PDOException $e) {
echo "连接失败:" . $e->getMessage();
}
?>
3.2 执行预处理语句
<?php
// SQL语句
$sql = "SELECT * FROM users WHERE id = :id";
// 预处理语句
$stmt = $pdo->prepare($sql);
// 绑定参数
$id = 1;
$stmt->bindParam(':id', $id);
// 执行查询
$stmt->execute();
// 处理查询结果
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "name: " . $row["name"] . " - email: " . $row["email"] . "<br>";
}
// 释放查询结果内存
$stmt->closeCursor();
?>
3.3 关闭连接
<?php
// 关闭连接
$pdo = null;
echo '连接已关闭';
?>
以上就是连接MySQL数据库的三种实现方法。其中,mysqli扩展和PDO扩展都是PHP常用的操作MySQL数据库的方式,而PDO扩展相较于mysqli扩展使用更加灵活,且由于其有预处理语句的支持,也更加安全。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP连接MySQL数据库三种实现方法 - Python技术站