当前位置:首页 > PHP

php实现mysqli

2026-02-14 10:26:34PHP

PHP 使用 MySQLi 扩展连接数据库

MySQLi(MySQL Improved)是 PHP 中用于与 MySQL 数据库交互的扩展,支持面向对象和面向过程两种编程风格。以下是使用 MySQLi 进行数据库操作的详细方法。

连接 MySQL 数据库

面向对象风格
通过创建 mysqli 实例连接数据库:

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";

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

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

面向过程风格
使用 mysqli_connect() 函数:

php实现mysqli

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

if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}

执行 SQL 查询

查询数据
使用 query() 方法执行 SELECT 语句:

$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 结果";
}

插入数据
通过预处理语句防止 SQL 注入:

php实现mysqli

$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email);

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

echo "新记录插入成功";
$stmt->close();

关闭数据库连接

操作完成后需手动关闭连接:

$conn->close();

错误处理

通过异常捕获或错误检查确保操作安全:

try {
    $conn = new mysqli($servername, $username, $password, $dbname);
    if ($conn->connect_errno) {
        throw new Exception("连接失败: " . $conn->connect_error);
    }
} catch (Exception $e) {
    echo $e->getMessage();
}

事务处理

使用事务确保数据一致性:

$conn->autocommit(false);

try {
    $conn->query("UPDATE accounts SET balance = balance - 100 WHERE user_id = 1");
    $conn->query("UPDATE accounts SET balance = balance + 100 WHERE user_id = 2");
    $conn->commit();
    echo "事务成功";
} catch (Exception $e) {
    $conn->rollback();
    echo "事务失败: " . $e->getMessage();
}

注意事项

  1. 始终使用预处理语句处理用户输入,避免 SQL 注入。
  2. 在生产环境中隐藏数据库凭据(如通过环境变量或配置文件)。
  3. 及时释放查询结果($result->free())和关闭连接以节省资源。

MySQLi 提供了比旧版 MySQL 扩展更强大的功能,包括预处理语句、事务支持和面向对象接口,是 PHP 开发中推荐的选择。

标签: phpmysqli
分享给朋友:

相关文章

php 实现接口

php 实现接口

PHP 实现接口的方法 在 PHP 中,接口(Interface)用于定义一组方法的规范,而不包含具体的实现。类可以实现(implement)接口,并必须实现接口中定义的所有方法。 定义接口 接口通…

php实现上传图片

php实现上传图片

上传图片的基本流程 PHP 实现图片上传功能需要处理文件接收、验证、保存等步骤。以下是具体实现方法。 创建 HTML 表单 在 HTML 中创建一个表单,设置 enctype="multipart/…

php无限分类的实现

php无限分类的实现

PHP无限分类的实现 无限分类是一种常见的树形结构数据组织方式,适用于商品分类、菜单管理、地区选择等场景。以下是几种实现方法: 递归实现法 递归是最直观的实现方式,通过函数自身调用来遍历子分类。数据…

php 无限分类的实现

php 无限分类的实现

无限分类的实现方法 无限分类通常用于构建树形结构数据,如商品分类、多级菜单等。以下是几种常见的实现方式: 邻接列表模型(Adjacency List) 邻接列表是最简单的实现方式,通过在每个节点中存…

php 实现链表

php 实现链表

PHP 实现链表的方法 链表是一种线性数据结构,由节点组成,每个节点包含数据和指向下一个节点的指针。PHP 中可以通过类和对象来实现链表。 定义链表节点类 创建一个 ListNode 类,用于表示链…

php实现获取验证码

php实现获取验证码

使用GD库生成验证码 在PHP中,可以通过GD库来生成验证码图片。以下是一个简单的实现示例: <?php session_start(); $width = 120; $height = 40…