php实现crud
PHP 实现 CRUD 操作
CRUD(Create, Read, Update, Delete)是数据库操作的基础功能,以下是使用 PHP 和 MySQL 实现 CRUD 的完整方法。
数据库连接
创建数据库连接文件 db_connection.php,用于后续操作复用:
<?php
$host = 'localhost';
$dbname = 'test_db';
$username = 'root';
$password = '';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
创建数据(Create)
向数据库插入新记录:
<?php
include 'db_connection.php';
$name = 'John Doe';
$email = 'john@example.com';
$sql = "INSERT INTO users (name, email) VALUES (:name, :email)";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
if ($stmt->execute()) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
?>
读取数据(Read)
查询数据库记录:

<?php
include 'db_connection.php';
$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);
if ($result->rowCount() > 0) {
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
echo "ID: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
}
} else {
echo "0 results";
}
?>
更新数据(Update)
修改现有记录:
<?php
include 'db_connection.php';
$id = 1;
$newName = 'Jane Doe';
$sql = "UPDATE users SET name=:name WHERE id=:id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':name', $newName);
$stmt->bindParam(':id', $id);
if ($stmt->execute()) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
?>
删除数据(Delete)
从数据库移除记录:
<?php
include 'db_connection.php';
$id = 1;
$sql = "DELETE FROM users WHERE id=:id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':id', $id);
if ($stmt->execute()) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
}
?>
安全注意事项
使用预处理语句防止 SQL 注入,如示例中所示。避免直接拼接 SQL 查询字符串。

验证和过滤所有用户输入数据,确保数据类型和格式符合预期。
对于生产环境,建议添加用户身份验证和权限控制,防止未授权访问。
完整示例结构
典型 CRUD 应用的文件结构建议:
/crud_app
/includes
db_connection.php
/create
index.php
/read
index.php
/update
index.php
/delete
index.php
这种结构清晰分离了不同操作,便于维护和扩展。实际项目中可根据需求调整架构。






