
PHP连接MySQL数据库并进行交互,是动态网站开发中最基础也是最重要的操作之一。整个流程包括:连接数据库、执行SQL语句、处理结果、关闭连接。下面详细介绍完整流程和常用方法。
1. 使用 mysqli 扩展连接 MySQL
mysqli 是 PHP 中推荐使用的 MySQL 扩展,支持面向对象和过程化两种写法。以下以面向对象方式为例:
$host = 'localhost'; // 数据库主机 $user = 'root'; // 数据库用户名 $pass = 'password'; // 数据库密码 $dbname = 'test_db'; // 数据库名// 创建连接 $conn = new mysqli($host, $user, $pass, $dbname);
// 检查连接是否成功 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功";
2. 执行 SQL 查询(增删改查)
连接成功后,就可以使用 query() 或 prepare() 方法执行 SQL 语句。
立即学习“PHP免费学习笔记(深入)”;
// 查询数据(SELECT) $sql = "SELECT id, name, email FROM users"; $result = $conn->query($sql);if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "ID: " . $row["id"]. " - 名字: " . $row["name"]. " - 邮箱: " . $row["email"]. "
"; } } else { echo "0 个结果"; }// 插入数据(INSERT) $sql = "INSERT INTO users (name, email) VALUES ('张三', 'zhangsan@example.com')"; if ($conn->query($sql) === TRUE) { echo "新记录插入成功"; } else { echo "错误: " . $sql . "
" . $conn->error; }// 更新数据(UPDATE) $sql = "UPDATE users SET email='lisi_new@example.com' WHERE name='李四'"; if ($conn->query($sql) === TRUE) { echo "记录更新成功"; }
// 删除数据(DELETE) $sql = "DELETE FROM users WHERE id=1"; if ($conn->query($sql) === TRUE) { echo "记录删除成功"; }
3. 使用预处理语句防止 SQL 注入
对于用户输入的数据,强烈建议使用预处理语句(prepared statements)来提升安全性。
DESTOON B2B网站管理系统是一套完善的B2B(电子商务)行业门户解决方案。系统基于PHP+MySQL开发,采用B/S架构,模板与程序分离,源码开放。模型化的开发思路,可扩展或删除任何功能;创新的缓存技术与数据库设计,可负载千万级别数据容量及访问。
$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email);
// 设置参数并执行
$name = "王五";
$email = "wangwu@example.com";
$stmt->execute();
echo "预处理插入成功";
$stmt->close();
4. 关闭连接
操作完成后,及时释放资源。
$conn->close(); // 关闭数据库连接
基本上就这些。只要掌握连接、查询、预处理和关闭四个步骤,就能安全高效地实现 PHP 与 MySQL 的交互。注意始终验证和过滤用户输入,优先使用预处理语句,避免 SQL 注入风险。










