当前位置:首页 > PHP

php数据库连接实现

2026-04-03 12:15:23PHP

PHP 数据库连接实现

PHP 连接数据库通常使用 PDO(PHP Data Objects)或 MySQLi(MySQL Improved)扩展。以下是两种方法的详细实现方式。

使用 PDO 连接数据库

PDO 是一个数据库访问抽象层,支持多种数据库(如 MySQL、PostgreSQL、SQLite 等)。以下是连接 MySQL 数据库的示例代码:

<?php
$host = 'localhost';
$dbname = 'database_name';
$username = 'username';
$password = 'password';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully";
} catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}
?>

关键点:

  • mysql:host=$host;dbname=$dbname 是 DSN(数据源名称),指定数据库类型和连接参数。
  • setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION) 设置错误模式为异常模式,便于调试。

使用 MySQLi 连接数据库

MySQLi 是专门为 MySQL 设计的扩展,支持面向对象和面向过程两种编程风格。

面向对象风格:

<?php
$host = 'localhost';
$username = 'username';
$password = 'password';
$dbname = 'database_name';

$conn = new mysqli($host, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>

面向过程风格:

<?php
$host = 'localhost';
$username = 'username';
$password = 'password';
$dbname = 'database_name';

$conn = mysqli_connect($host, $username, $password, $dbname);

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

关键点:

  • new mysqli()mysqli_connect() 用于建立连接。
  • connect_errormysqli_connect_error() 用于检查连接错误。

安全注意事项

  • 避免将数据库凭据硬编码在脚本中,建议使用配置文件或环境变量。
  • 使用预处理语句防止 SQL 注入攻击。

示例:使用 PDO 预处理语句

<?php
$pdo = new PDO("mysql:host=localhost;dbname=database_name", "username", "password");

$stmt = $pdo->prepare("SELECT * FROM users WHERE email = :email");
$stmt->bindParam(':email', $email);
$email = 'user@example.com';
$stmt->execute();

$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($result);
?>

示例:使用 MySQLi 预处理语句

<?php
$conn = new mysqli("localhost", "username", "password", "database_name");

$stmt = $conn->prepare("SELECT * FROM users WHERE email = ?");
$stmt->bind_param("s", $email);
$email = 'user@example.com';
$stmt->execute();

$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    print_r($row);
}
?>

连接关闭

PDO:

$pdo = null;

MySQLi:

php数据库连接实现

$conn->close();

通过以上方法,可以安全高效地实现 PHP 与数据库的连接和操作。

分享给朋友:

相关文章

php实现图片上传

php实现图片上传

实现图片上传的基本步骤 创建HTML表单用于文件上传,表单需设置enctype="multipart/form-data"属性,确保文件数据正确传输。 <form action="upload…

php 实现秒杀

php 实现秒杀

PHP 实现秒杀的关键技术 秒杀系统需要解决高并发、超卖、性能瓶颈等问题。以下是实现秒杀的核心方案: 使用 Redis 预减库存 将商品库存提前加载到 Redis 中,通过原子操作保证库存准确性:…

php实现定时

php实现定时

PHP 实现定时任务的方法 PHP 本身是脚本语言,通常需要借助外部工具或框架实现定时任务。以下是几种常见方法: 使用 Cron 任务 Linux 系统自带的 Cron 是常用的定时任务工具。通过编…

php 实现mvc

php 实现mvc

PHP 实现 MVC 架构的方法 MVC(Model-View-Controller)是一种常见的软件设计模式,用于分离业务逻辑、用户界面和用户输入。以下是 PHP 实现 MVC 架构的关键步骤:…

php实现https

php实现https

PHP 实现 HTTPS 请求 在 PHP 中实现 HTTPS 请求,可以通过多种方式完成,包括使用内置函数、cURL 扩展或第三方库。以下是几种常见的方法: 使用 file_get_content…

php 实现聊天功能

php 实现聊天功能

PHP 实现聊天功能的方法 使用 WebSocket 和 Ratchet 库 WebSocket 是实现实时聊天的理想选择。Ratchet 是一个 PHP 库,用于处理 WebSocket 连接。…