Maison > développement back-end > tutoriel php > Comment se connecter à une base de données en utilisant PHP ?

Comment se connecter à une base de données en utilisant PHP ?

WBOY
Libérer: 2024-04-20 10:09:01
original
1207 Les gens l'ont consulté

连接数据库指南:建立连接:使用 mysqli 或 PDO 建立数据库连接。PDO 连接方法:使用面向对象风格、PDOStatement 或简写方式连接 PDO。实战案例:按 userId 查询用户。关闭连接:完成操作后关闭数据库连接。

如何使用 PHP 连接数据库?

使用 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 "成功连接到数据库";
Copier après la connexion

使用 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();
}
Copier après la connexion

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>";
}
Copier après la connexion

3、简写方式

$dsn = "mysql:dbname=mydb;host=localhost";
$conn = new PDO($dsn, $username, $password);
Copier après la connexion

实战案例:按 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 "没有找到用户";
}
Copier après la connexion

关闭连接

执行完数据库操作后,请务必关闭连接以释放资源:

$conn->close();
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal