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


