PHP中使用mysqli扩展可面向对象或过程方式实现CRUD操作:先建连并设UTF-8字符集;插入用预处理防注入;查询可遍历结果集;更新须谨慎写WHERE条件;删除建议软删或二次确认。

如果您需要在PHP中执行数据库的增删改查操作,mysqli扩展提供了面向对象和过程两种方式来连接MySQL数据库并执行SQL语句。以下是使用mysqli完成基本CRUD操作的具体方法:
在执行任何数据库操作前,必须先建立与MySQL服务器的有效连接。连接失败将导致后续所有操作无法进行,因此需确保主机名、用户名、密码及数据库名正确无误。
1、使用面向对象方式创建连接:$mysqli = new mysqli("localhost", "username", "password", "database_name");
2、检查连接是否成功:if ($mysqli->connect_error) { die("连接失败: " . $mysqli->connect_error); }
立即学习“PHP免费学习笔记(深入)”;
3、设置字符集为UTF-8以避免中文乱码:$mysqli->set_charset("utf8");
向数据表中添加新记录时,应优先使用预处理语句防止SQL注入攻击,提升安全性与执行效率。
1、准备INSERT语句:$stmt = $mysqli->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
2、绑定参数并执行:$stmt->bind_param("ss", $name, $email); $name = "张三"; $email = "zhangsan@example.com"; $stmt->execute();
3、确认插入成功并获取自增ID:if ($stmt->affected_rows > 0) { echo "新记录插入成功,ID为:" . $mysqli->insert_id; }
从数据库中检索数据时,可选择获取单行、多行或全部结果,并根据需求决定是否使用预处理语句。
1、执行SELECT查询:$result = $mysqli->query("SELECT id, name, email FROM users WHERE status = 1");
2、遍历结果集输出数据:while ($row = $result->fetch_assoc()) { echo "ID: " . $row["id"] . " - 名称: " . $row["name"] . "
"; }
3、释放结果内存:$result->free();
修改已有记录时,WHERE条件至关重要;若遗漏或错误可能导致整张表数据被意外更改,务必谨慎验证。
1、使用预处理语句构建UPDATE操作:$stmt = $mysqli->prepare("UPDATE users SET email = ? WHERE id = ?");
2、绑定参数并执行:$stmt->bind_param("si", $new_email, $user_id); $new_email = "newemail@example.com"; $user_id = 5; $stmt->execute();
3、检查影响行数确认更新是否生效:if ($stmt->affected_rows > 0) { echo "成功更新 " . $stmt->affected_rows . " 条记录"; }
删除操作具有不可逆性,建议在生产环境中启用软删除机制(如添加is_deleted字段),或在执行前加入二次确认逻辑。
1、编写带WHERE条件的DELETE语句:$stmt = $mysqli->prepare("DELETE FROM users WHERE id = ? AND status = 0");
2、绑定参数并执行删除:$stmt->bind_param("i", $id); $id = 12; $stmt->execute();
3、判断是否删除成功:if ($stmt->affected_rows > 0) { echo "已删除 " . $stmt->affected_rows . " 条记录"; }
以上就是PHP增删改查怎么用mysqli操作_phpmysqli用法【指南】的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号