当前位置:首页 > PHP

php数据库连接实现

2026-02-14 04:16:17PHP

PHP 连接 MySQL 数据库的方法

使用 mysqli 扩展连接 MySQL 数据库。确保 MySQL 服务已启动,并准备好数据库名称、用户名和密码。

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>

使用 PDO 连接数据库

PDO(PHP Data Objects)提供了一种更灵活的方式连接多种数据库。

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // 设置 PDO 错误模式为异常
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "连接成功"; 
} catch(PDOException $e) {
    echo "连接失败: " . $e->getMessage();
}
?>

执行 SQL 查询

通过 mysqli 执行查询并获取结果。

<?php
$sql = "SELECT id, name FROM users";
$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
$stmt = $conn->prepare("SELECT id, name FROM users");
$stmt->execute();

// 设置结果集为关联数组
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach($stmt->fetchAll() as $row) {
    echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
$conn = null;
?>

插入数据示例

使用 mysqli 插入数据到数据库。

<?php
$sql = "INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com')";

if ($conn->query($sql) === TRUE) {
    echo "新记录插入成功";
} else {
    echo "错误: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>

使用 PDO 插入数据

PDO 提供了预处理语句来防止 SQL 注入。

<?php
$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);

$name = "John Doe";
$email = "john@example.com";
$stmt->execute();

echo "新记录插入成功";
$conn = null;
?>

关闭数据库连接

无论是 mysqli 还是 PDO,使用完毕后应关闭连接以释放资源。

// mysqli 关闭连接
$conn->close();

// PDO 关闭连接
$conn = null;

错误处理

在数据库操作中,错误处理非常重要,可以避免脚本因错误而中断。

// mysqli 错误处理
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// PDO 错误处理
try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo "错误: " . $e->getMessage();
}

安全注意事项

确保数据库连接信息的安全性,避免将敏感信息直接写入代码。

php数据库连接实现

// 使用配置文件存储数据库信息
$config = parse_ini_file('config.ini');
$conn = new mysqli($config['servername'], $config['username'], $config['password'], $config['dbname']);

通过以上方法,可以实现 PHP 与数据库的连接和操作。根据项目需求选择合适的扩展和方式。

分享给朋友:

相关文章

基于php的设计与实现

基于php的设计与实现

PHP 设计与实现的关键要素 环境搭建与框架选择 PHP开发需配置服务器环境(如Apache/Nginx)、PHP版本(建议7.4+)及数据库(MySQL/MariaDB)。主流框架包括Laravel…

php 实现单链表

php 实现单链表

单链表的基本概念 单链表是一种线性数据结构,由节点组成,每个节点包含数据域和指向下一个节点的指针域。链表的头节点是访问整个链表的入口。 单链表的节点类实现 在PHP中,可以通过类来定义链表节点。每个…

php 实现无限分类

php 实现无限分类

无限分类的实现方法 无限分类通常用于构建多层级结构的数据,如商品分类、菜单管理等。以下是几种常见的实现方式: 邻接列表模型(Adjacency List) 这是最简单的实现方式,每个分类记录存储其父…

php数据库实现

php数据库实现

PHP 连接 MySQL 数据库 使用 mysqli 扩展连接 MySQL 数据库: <?php $servername = "localhost"; $username = "usernam…

php实现支付宝支付

php实现支付宝支付

支付宝支付集成步骤 准备工作 在开始集成支付宝支付前,确保已注册支付宝开放平台账号并完成企业实名认证。创建应用后获取APPID、应用私钥和支付宝公钥。 配置支付宝SDK 通过Composer安装支付…

php 路由实现的

php 路由实现的

PHP 路由实现方法 基于原生 PHP 实现路由 创建一个简单的路由解析器,通过解析 URL 路径来调用对应的控制器或函数。 // 定义路由表 $routes = [ '/' => '…