PHP MySQL 执行语句怎么写?完整指南与示例

在PHP中执行MySQL语句,主要通过MySQLi或PDO扩展实现,核心步骤包括连接数据库、准备语句、执行查询以及处理结果。 掌握这些操作能有效进行数据交互,并提升应用的安全性与性能,下面将详细解析具体写法及注意事项。

连接MySQL数据库

执行任何SQL语句前,需先建立数据库连接,推荐使用MySQLi(面向对象方式)PDO,它们支持预处理语句,能防止SQL注入攻击。

php mysql 执行语句怎么写,PHP MySQL 执行语句编写指南

使用MySQLi连接示例:

<?php
$servername = "localhost";
$username = "用户名";
$password = "密码";
$dbname = "数据库名";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>

使用PDO连接示例:

<?php
try {
    $conn = new PDO("mysql:host=localhost;dbname=数据库名", "用户名", "密码");
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "连接成功"; 
} catch(PDOException $e) {
    echo "连接失败: " . $e->getMessage();
}
?>

执行SQL语句的常用方法

根据操作类型(查询、插入、更新等),选择合适的方法执行。

执行查询语句(SELECT)

使用query()方法执行SELECT语句,并通过循环遍历结果。

// MySQLi示例
$sql = "SELECT id, name FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - 姓名: " . $row["name"]. "<br>";
    }
} else {
    echo "0 结果";
}

执行插入、更新、删除语句

使用query()exec()(PDO)执行非查询语句,注意检查执行结果。

// 插入数据示例(MySQLi)
$sql = "INSERT INTO users (name, email) VALUES ('张三', 'zhangsan@example.com')";
if ($conn->query($sql) === TRUE) {
    echo "新记录插入成功";
} else {
    echo "错误: " . $sql . "<br>" . $conn->error;
}

使用预处理语句(关键安全措施)

预处理语句能有效防止SQL注入,是执行动态SQL语句的最佳实践。 它先将SQL模板发送到数据库,再绑定参数执行。

MySQLi预处理示例:

$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email); // "ss"表示两个字符串类型参数
// 设置参数并执行
$name = "李四";
$email = "lisi@example.com";
$stmt->execute();
echo "预处理插入成功";
$stmt->close();

PDO预处理示例:

$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
// 插入一行
$name = "王五";
$email = "wangwu@example.com";
$stmt->execute();
echo "PDO预处理插入成功";

错误处理与调试

执行SQL时务必添加错误处理,以便快速定位问题。

// MySQLi错误检查
if (!$conn->query($sql)) {
    echo "错误: " . $conn->error;
}
// PDO错误处理(已通过setAttribute设置异常模式)

关闭数据库连接

操作完成后,应显式关闭连接释放资源。

// MySQLi
$conn->close();
// PDO
$conn = null;

在PHP中执行MySQL语句,务必优先使用预处理语句确保安全,并根据需求选择MySQLi或PDO扩展,关键步骤包括:建立连接、准备SQL、绑定参数、执行语句并处理结果,遵循这些实践,不仅能高效操作数据库,还能大幅提升应用的安全性,对于现代PHP开发,PDO因其数据库无关性和灵活的错误处理,通常是更推荐的选择。

未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网

原文地址:https://www.html4.cn/6261.html发布于:2026-07-22