在PHP中连接MySQL数据库,可以使用原生的mysqli扩展或者PDO(PHP Data Objects)扩展。以下是两种方法的详细介绍:
mysqli扩展mysqli是MySQL Improved Extension的缩写,提供了对MySQL数据库的扩展功能。
<?php
// 数据库配置
$host = 'localhost';
$username = 'your_username';
$password = 'your_password';
$database = 'your_database';
// 创建连接
$conn = new mysqli($host, $username, $password, $database);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 执行查询
$sql = "SELECT id, name FROM your_table";
$result = $conn->query($sql);
// 输出结果
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 结果";
}
// 关闭连接
$conn->close();
?>PDO扩展PDO提供了一个数据访问抽象层,支持多种数据库。
<?php
// 数据库配置
$host = 'localhost';
$username = 'your_username';
$password = 'your_password';
$database = 'your_database';
try {
// 创建PDO实例
$conn = new PDO("mysql:host=$host;dbname=$database", $username, $password);
// 设置PDO错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// 执行查询
$stmt = $conn->prepare("SELECT id, name FROM your_table");
$stmt->execute();
// 设置结果集为关联数组
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach($stmt->fetchAll() as $row) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
// 关闭连接
$conn = null;
?>mysqli:专注于MySQL数据库,提供了更多的MySQL特定功能。如果你的项目只涉及MySQL数据库,mysqli可能是一个更好的选择。PDO:提供了数据库抽象层,支持多种数据库(如MySQL、PostgreSQL、SQLite等)。如果你的项目可能需要更换数据库或支持多种数据库,PDO是更好的选择。PDO。mysqli。mysqli_error()(对于mysqli)或PDO::errorInfo()(对于PDO)来获取详细的错误信息。希望以上信息能帮助你更好地理解和使用PHP连接MySQL数据库的方法。
没有搜到相关的文章