Maison > Article > développement back-end > Comment se connecter à une base de données en utilisant PHP ?
连接数据库指南:建立连接:使用 mysqli 或 PDO 建立数据库连接。PDO 连接方法:使用面向对象风格、PDOStatement 或简写方式连接 PDO。实战案例:按 userId 查询用户。关闭连接:完成操作后关闭数据库连接。
使用 PHP 连接数据库
简介
在 PHP 中连接数据库是开发 Web 应用程序的一项基本任务。本文将指导您逐步完成使用 PHP 连接到各种类型数据库所需的过程。
建立连接
要建立数据库连接,可以使用以下代码:
$servername = "localhost"; $username = "username"; $password = "password"; $database = "dbname"; // 创建连接 $conn = new mysqli($servername, $username, $password, $database); // 检查连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "成功连接到数据库";
使用 PDO
PDO(PHP 数据对象)是一种更强大的连接方法,它为不同类型的数据库提供了统一的接口。有三种建立 PDO 连接的方法:
1、面向对象风格
$host = "localhost"; $port = "3306"; // MySQL 的默认端口 $dbname = "dbname"; $username = "username"; $password = "password"; $dsn = "mysql:dbname=$dbname;host=$host;charset=UTF8;port=$port"; try { // 创建连接 $conn = new PDO($dsn, $username, $password); // 设置错误信息模式 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "成功连接到数据库"; } catch (PDOException $e) { echo "连接失败: " . $e->getMessage(); }
2、使用 PDOStatement
$host = "localhost"; $database = "dbname"; $username = "username"; $password = "password"; // 创建连接 $conn = new PDO("mysql:host=$host;dbname=$database", $username, $password); // 创建准备语句 $stmt = $conn->prepare("SELECT * FROM users"); $stmt->execute(); // 遍历结果 while ($result = $stmt->fetch(PDO::FETCH_ASSOC)) { echo "ID: " . $result['id'] . ", 名称: " . $result['name'] . "<br>"; }
3、简写方式
$dsn = "mysql:dbname=mydb;host=localhost"; $conn = new PDO($dsn, $username, $password);
实战案例:按 userId 检索用户
$userId = 1; // 查询语句 $stmt = $conn->prepare("SELECT * FROM users WHERE id = ?"); $stmt->bind_param("i", $userId); // i 表示整数 $stmt->execute(); // 获取结果 $result = $stmt->get_result(); if ($row = $result->fetch_assoc()) { echo "名称: " . $row['name'] . "<br>"; echo "电子邮件: " . $row['email'] . "<br>"; } else { echo "没有找到用户"; }
关闭连接
执行完数据库操作后,请务必关闭连接以释放资源:
$conn->close();
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!