博客列表 >使用mysqli方式增删改查

使用mysqli方式增删改查

王珂
王珂原创
2020年05月08日 17:47:031014浏览

使用mysqli方式增删改查

数据表

表名:goods

类型 注释
id int(11) 自动增量 主键
title varchar(20) 名称
price decimal(10,2) 价格
status int(2) [1] 状态
create_time int(10) 创建时间

查询单条记录

  1. <?php
  2. // 查询单条记录
  3. // 连接数据库
  4. require 'connect.php';
  5. // 2. 操作数据库
  6. $sql = "SELECT `id`, `title`,`price` FROM `goods` WHERE `price` > 3000";
  7. $mysqli_res = $mysqli->query($sql);
  8. // 指针复位
  9. $mysqli_res->data_seek(0);
  10. if ($mysqli_res && $mysqli_res->num_rows > 0 ) {
  11. while ($goods = $mysqli_res->fetch_assoc()) {
  12. printf('<pre>%s</pre>', print_r($goods, true));
  13. }
  14. } else {
  15. echo '查询失败或没有查询到满足条件的商品';
  16. }
  17. // 3. 关闭连接 释放结果集
  18. $mysqli_res->free_result();
  19. $mysqli->close();

结果

Array
(
[id] => 2
[title] => 苹果手机
[price] => 6999.00
)
Array
(
[id] => 4
[title] => 联想电脑
[price] => 4888.00
)
Array
(
[id] => 5
[title] => 惠普电脑
[price] => 4666.00
)

查询多条记录

  1. <?php
  2. // 查询多条记录
  3. // 连接数据库
  4. require 'connect.php';
  5. // 2. 操作数据库
  6. $sql = "SELECT `id`, `title`,`price` FROM `goods` WHERE `price` > 3000";
  7. $mysqli_res = $mysqli->query($sql);
  8. if ($mysqli_res && $mysqli_res->num_rows > 0 ) {
  9. $goods = $mysqli_res->fetch_all();
  10. printf('<table>');
  11. printf('<tr><td>编号</td><td>商品</td><td> 价格</td></tr>');
  12. foreach ($goods as $title) {
  13. // vprintf() 与 printf()功能一样, 区别 就是参数是数组
  14. vprintf('<tr><td>%s </td><td> %s</td><td> %s</td></tr>', $title);
  15. }
  16. printf('</table>');
  17. } else {
  18. echo '查询失败或没有查询到满足条件的商品';
  19. }
  20. // 3. 关闭连接 释放结果集
  21. $mysqli_res->free_result();
  22. $mysqli->close();

结果

编号 商品 价格
2 苹果手机 6999.00
4 联想电脑 4888.00
5 惠普电脑 4666.00

新增操作

  1. <?php
  2. // 新增操作
  3. // 1. 连接数据库
  4. require 'connect.php';
  5. // 2. 操作数据库
  6. // 前端表单->json格式的字符串, php将这种json字符串转为数组/对象
  7. $arr = ['苹果电脑', 9999, '1', 1588123456];
  8. array_walk($arr, function(&$item, $key, $length) {
  9. if ($key < $length-1 ) $item = "'$item'";
  10. }, count($arr));
  11. $data = implode(', ', $arr);
  12. $sql = "INSERT `goods` (`title`,`price`,`status`,`create_time`) VALUES ($data)";
  13. if ($mysqli->query($sql)) {
  14. if ($mysqli->affected_rows > 0) {
  15. echo '成功添加了 ' . $mysqli->affected_rows . ' 条记录, 新增记录主键ID: ' . $mysqli->insert_id;
  16. } else {
  17. echo '没有添加新记录';
  18. }
  19. } else {
  20. die('添加失败'. $mysqli->errno . ' : ' . $mysqli->error);
  21. }
  22. // 3. 关闭连接
  23. // 释放结果集
  24. $mysqli->close();

结果

成功添加了 1 条记录, 新增记录主键ID: 6

删除操作

  1. <?php
  2. // 删除操作
  3. // 1. 连接数据库
  4. require 'connect.php';
  5. // 2. 操作数据库
  6. $sql = "DELETE FROM `goods` WHERE `id` =" . $_GET['id'];
  7. if ($mysqli->query($sql)) {
  8. if ($mysqli->affected_rows > 0) {
  9. echo '成功删除了 id=' .$_GET['id'] . ' 的记录';
  10. } else {
  11. echo '没有删除任何记录';
  12. }
  13. } else {
  14. die('删除失败'. $mysqli->errno . ' : ' . $mysqli->error);
  15. }
  16. // 3. 关闭连接
  17. $mysqli->close();

结果

成功删除了 id=6 的记录

更新操作

  1. <?php
  2. // 更新操作
  3. // 1. 连接数据库
  4. require 'connect.php';
  5. // 2. 操作数据库
  6. // 前端表单->json格式的字符串, php将这种json字符串转为数组/对象
  7. $arr = ['title'=>'华为服务器', 'price'=>'39999'];
  8. array_walk($arr, function(&$item, $key) {
  9. $item = "`$key` = '$item'";
  10. });
  11. $data = implode(', ', $arr);
  12. $sql = "UPDATE `goods` SET " . $data . " WHERE `id` = 5";
  13. if ($mysqli->query($sql)) {
  14. if ($mysqli->affected_rows > 0) {
  15. echo '成功更新了 ' . $mysqli->affected_rows . ' 条记录';
  16. } else {
  17. echo '没有更新任何记录';
  18. }
  19. } else {
  20. die('更新失败'. $mysqli->errno . ' : ' . $mysqli->error);
  21. }
  22. // 3. 关闭连接
  23. // 释放结果集
  24. $mysqli->close();

结果

成功更新了 1 条记录

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议