MySQL 数据库 与 PHP 交互开发指南

MySQL 数据库阿木 发布于 2025-07-07 14 次阅读


与 PHP 交互开发指南:使用代码编辑模型围绕 MySQL 数据库

在 Web 开发领域,PHP 和 MySQL 是一对经典的组合,它们共同构成了许多动态网站和应用程序的后端。PHP 作为一种服务器端脚本语言,能够轻松地与 MySQL 数据库进行交互,从而实现数据的存储、检索和操作。本文将围绕这一主题,通过代码编辑模型,详细介绍如何使用 PHP 与 MySQL 数据库进行交互。

随着互联网的快速发展,PHP 和 MySQL 已经成为了 Web 开发中不可或缺的工具。PHP 的灵活性和 MySQL 的稳定性使得它们成为了构建各种规模网站的首选。本文将带领读者深入了解 PHP 与 MySQL 数据库的交互过程,并通过实际代码示例展示如何实现这一交互。

PHP 与 MySQL 数据库交互基础

1. 连接 MySQL 数据库

在 PHP 中,我们可以使用 `mysqli` 或 `PDO`(PHP Data Objects)扩展来连接 MySQL 数据库。以下是使用 `mysqli` 扩展连接数据库的示例代码:

php

<?php


$servername = "localhost";


$username = "username";


$password = "password";


$dbname = "myDB";

// 创建连接


$conn = new mysqli($servername, $username, $password, $dbname);

// 检测连接


if ($conn->connect_error) {


die("连接失败: " . $conn->connect_error);


}


?>


2. 执行 SQL 语句

连接到数据库后,我们可以执行 SQL 语句来操作数据。以下是一些基本的 SQL 语句示例:

- 查询数据:

php

$sql = "SELECT id, firstname, lastname FROM MyGuests";


$result = $conn->query($sql);

if ($result->num_rows > 0) {


// 输出数据


while($row = $result->fetch_assoc()) {


echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";


}


} else {


echo "0 结果";


}


- 插入数据:

php

$sql = "INSERT INTO MyGuests (firstname, lastname, email)


VALUES ('John', 'Doe', 'john@example.com')";

if ($conn->query($sql) === TRUE) {


echo "新记录插入成功";


} else {


echo "Error: " . $sql . "<br>" . $conn->error;


}


- 更新数据:

php

$sql = "UPDATE MyGuests SET lastname='Smith' WHERE id=1";

if ($conn->query($sql) === TRUE) {


echo "记录更新成功";


} else {


echo "Error: " . $sql . "<br>" . $conn->error;


}


- 删除数据:

php

$sql = "DELETE FROM MyGuests WHERE id=2";

if ($conn->query($sql) === TRUE) {


echo "记录删除成功";


} else {


echo "Error: " . $sql . "<br>" . $conn->error;


}


3. 关闭连接

在完成数据库操作后,我们应该关闭数据库连接,以释放资源。以下是关闭连接的示例代码:

php

$conn->close();


PHP 与 MySQL 数据库交互进阶

1. 预处理语句(Prepared Statements)

预处理语句可以防止 SQL 注入攻击,提高代码的安全性。以下是一个使用预处理语句的示例:

php

$stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests WHERE lastname=?");


$stmt->bind_param("s", $lastname);


$lastname = "Doe";


$stmt->execute();


$result = $stmt->get_result();


while($row = $result->fetch_assoc()) {


echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";


}


$stmt->close();


$conn->close();


2. 使用 PDO 扩展

PDO 扩展提供了另一种与数据库交互的方法,它支持多种数据库类型。以下是一个使用 PDO 扩展的示例:

php

$host = 'localhost';


$dbname = 'myDB';


$username = 'username';


$password = 'password';

try {


$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);


$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sql = "SELECT id, firstname, lastname FROM MyGuests WHERE lastname=:lastname";


$stmt = $pdo->prepare($sql);


$stmt->execute(['lastname' => 'Doe']);


$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

foreach ($result as $row) {


echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";


}


} catch (PDOException $e) {


echo "数据库连接失败: " . $e->getMessage();


}


总结

本文通过代码编辑模型,详细介绍了 PHP 与 MySQL 数据库的交互过程。从基本的连接和查询,到预处理语句和 PDO 扩展的使用,读者可以了解到如何安全、高效地操作 MySQL 数据库。在实际开发中,合理运用这些技术,可以构建出稳定、安全的 Web 应用程序。