博客列表 >MySql操作数据库的CURD

MySql操作数据库的CURD

雪~人胖胖
雪~人胖胖原创
2020年05月13日 00:33:21538浏览

连接数据库

连接参数

  1. namespace mysql_edu;
  2. return[
  3. 'host'=>$host ?? 'localhost',
  4. 'dbname'=>$dbname ?? 'phpedu',
  5. 'charset'=>$charset ?? 'utf8',
  6. 'port'=>$port ?? '3306',
  7. 'username'=>$username ?? 'root',
  8. 'password'=>$password ?? 'root',
  9. ];

设置连接

  1. namespace mysql_edu;
  2. use mysqli;
  3. $config = require __DIR__."\\config\database.php";
  4. //mysql连接的四大参数:host,username,password,dbname
  5. //extract将关联数组拆成名值对变量
  6. extract($config);
  7. //连接数据库
  8. $mysqli = new mysqli($host,$username,$password,$dbname);
  9. //判断是否成功
  10. if ($mysqli->connect_errno){
  11. echo $mysqli->connect_error;
  12. };
  13. //设置客户端默认的字符集编码
  14. $mysqli->set_charset($charset);

新增操作

  1. namespace mysql_edu;
  2. //连接数据库
  3. require 'connect.php';
  4. //操作数据库
  5. $arr = ['iphoneX','太空银',8888,10];
  6. array_walk($arr,function(&$item,$key,$length){
  7. if ($key < $length-2) $item = "'$item'";
  8. },count($arr));
  9. $data = implode(',',$arr);
  10. $sql = "INSERT `goods`(`name`,`color`,`price`,`num`) VALUES($data)";
  11. if ($mysqli->query($sql)){
  12. if ($mysqli->affected_rows > 0){
  13. echo '成功添加了'.$mysqli->affected_rows.'条数据','新增的ID是'.$mysqli->insert_id;
  14. }
  15. }else{
  16. die('添加失败'.$mysqli->errno.':'.$mysqli->error);
  17. }
  18. //关闭连接
  19. $mysqli->close();

更新操作

  1. //连接数据库
  2. namespace mysql_edu;
  3. require 'connect.php';
  4. //操作数据库
  5. $arr = ['name'=>'iphoneXR','color'=>'太空灰'];;
  6. array_walk($arr,function(&$item,$key){
  7. $item = "`$key`= '$item'";
  8. });
  9. $data = implode(',',$arr);
  10. $sql = "UPDATE `goods` SET".$data."WHERE `id`= 5";
  11. if ($mysqli->query($sql)){
  12. if ($mysqli->affected_rows > 0){
  13. echo '成功更新了'.$mysqli->affected_rows.'条记录';
  14. }else{
  15. echo '没有数据更新';
  16. }
  17. }else{
  18. die('更新失败'.$mysqli->errno.':'.$mysqli->error);
  19. }
  20. //关闭连接
  21. $mysqli->close();

查询操作

  1. namespace mysql_edu;
  2. //连接数据库
  3. require 'connect.php';
  4. //操作数据库
  5. $sql = 'SELECT `name`,`color`,`price` FROM `goods` WHERE `num`=10';
  6. //查询使用:$mysqli->query($sql),
  7. //返回值
  8. //1.查询:返回一个结果集对象
  9. //2.写操作:返回受影响的记录数量返回bool值,成功true,失败false 通过affected_rows返回受影响的记录数量
  10. // $stmt = $mysqli->prepare($sql);
  11. // $stmt->execute();
  12. // var_dump($stmt);
  13. //单挑查询
  14. $mysqli_result = $mysqli->query($sql);
  15. // $goods = $mysqli_result->fetch_array(MYSQLI_ASSOC);
  16. //如果只想要关联部分
  17. // $goods = $mysqli_result->fetch_assoc();
  18. // 如果只想要索引部分
  19. // $mysqli_result->fetch_array(MYSQLI_NUM);
  20. // $goods = $mysqli_result->fetch_row();
  21. //指针复位
  22. // $mysqli_result->data_seek(0);
  23. // if ($mysqli_result && $mysqli_result->num_rows > 0){
  24. // while ($goods = $mysqli_result->fetch_assoc()){
  25. // print_r($goods);
  26. // }
  27. // }else{
  28. // echo '查询失败或者没有符合要求的结果';
  29. // }
  30. //多条记录查询
  31. if ($mysqli_result && $mysqli_result->num_rows > 0){
  32. $goods = $mysqli_result->fetch_all(MYSQLI_ASSOC);
  33. foreach($goods as $good){
  34. vprintf('<li>型号:%s---颜色:%s---价格:%s</li>',$good);
  35. }
  36. }
  37. //关闭连接
  38. //释放结果集
  39. $mysqli_result->free_result();
  40. $mysqli->close();

删除操作

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

总结

比pdo要麻烦一点,mysql的查询返回一个结果集,用写操作返回布尔值,使用affected_rows返回受影响的记录

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