博客列表 >PHP数据库操作:mysqli操作数据库

PHP数据库操作:mysqli操作数据库

李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰
李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰原创
2020年05月11日 11:48:05762浏览

mysqli数据库操作;

1.1、数据库操作代码

  1. <?php
  2. namespace mysql;
  3. use mysqli;
  4. $arguments=require 'config.php';
  5. // mysqli连接数据库需要的参数:主机名、用户名、密码、默认数据库
  6. /*
  7. *@var string $host
  8. *@var string $username
  9. *@var string $password
  10. *@var string $dbname
  11. */
  12. extract($arguments);
  13. // 连接数据库
  14. $db=new mysqli($host,$username,$password,$dbname);
  15. // 测试是否连接成功;
  16. // echo $db->connect_errno;
  17. $stmt=$db->stmt_init();//初始化数据库等待查询
  18. $action=strtolower($_GET['action']);
  19. // echo $action;
  20. switch($action){
  21. case 'select':
  22. $sql='SELECT * FROM `goods` WHERE `id`=?';
  23. $stmt->prepare($sql);
  24. $id=$_POST['id'];
  25. $stmt->bind_param('i',$id);
  26. $stmt->execute();
  27. $res=$stmt->get_result();
  28. $data=$res->fetch_array(MYSQLI_ASSOC);
  29. // print_r($data);
  30. extract($data);
  31. $datetime=date('Y-m-d H:i:s',$datetime+8*3600);
  32. printf("<li>编号: %s , 产品: %s, 价格: %s ,描述:%s, 创建时间:%s</li>", $id,$name,$price,$details,$datetime);
  33. $res->free_result();//释放结果集
  34. break;
  35. case 'insert':
  36. $sql='INSERT `goods` SET `name`=?,`price`=?,`details`=?,`datetime`=?';
  37. $stmt->prepare($sql);
  38. // $data=['富豫369','50','红轴,大穗,矮杆,耐高温不华丽',1589122280];
  39. // list($name,$price,$details,$datetime)=$data;
  40. $name=$_POST['name'];
  41. $price=$_POST['price'];
  42. $details=$_POST['details'];
  43. $datetime=time();
  44. // echo $name,$price,$details,$datetime;
  45. $stmt->bind_param('sssi',$name,$price,$details,$datetime);
  46. $stmt->execute();
  47. if($stmt->affected_rows===1){
  48. echo '添加成功,新产品id:'.$stmt->insert_id;
  49. }else{
  50. echo '添加失败!原因:'.$stmt->error;
  51. }
  52. break;
  53. case 'update':
  54. $sql="UPDATE `goods` SET `price`=?,`details`=? WHERE id=? ";
  55. $stmt->prepare($sql);
  56. $id=intval($_POST['id']);
  57. $price=$_POST['price'];
  58. $details=$_POST['details'];
  59. // var_dump($id);
  60. // echo $price,$details;
  61. $stmt->bind_param('ssi',$price,$details,$id);
  62. $stmt->execute();
  63. if($stmt->affected_rows===1){
  64. echo '更新成功';
  65. }else{
  66. echo '更新失败'.$stmt->error;
  67. }
  68. break;
  69. case 'delete':
  70. $sql='DELETE FROM `goods` WHERE `id`=?';
  71. $id=intval($_POST['id']);
  72. $stmt->prepare($sql);
  73. $stmt->bind_param('i',$id);
  74. $stmt->execute();
  75. if($stmt->affected_rows===1){
  76. echo '删除成功';
  77. }else{
  78. echo '删除失败'.$stmt->error;
  79. }
  80. break;
  81. default:
  82. echo '非法操作';
  83. }
  84. $stmt->close();

1.2操作页面代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>数据库操作案例</title>
  7. </head>
  8. <body>
  9. <h1>数据库操作案例</h1>
  10. <hr>
  11. <div>
  12. <form action="mysql.php?action=insert" method='POST'>
  13. <span>增加:</span>
  14. <label for="">产品名字:</label><input type="text" name="name" required placeholder="富豫369">
  15. <label for="">产品价格:</label><input type="text" name="price" required placeholder="60">
  16. <label for="">产品描述:</label><input type="text" name="details" required placeholder="红轴、大穗">
  17. <!-- <label for="">创建日期:</label></label><input type="date" name="datetime" required> -->
  18. <button>增加</button>
  19. </form>
  20. </div>
  21. <div>
  22. <form action="mysql.php?action=update" method="POST">
  23. <span>更新:</span>
  24. <label for="">产品:ID</label><input type="number" name="id" required placeholder="输入正整数">
  25. <label for="">产品价格:</label><input type="text" name='price' required placeholder="60">
  26. <label for="">产品描述:</label><input type="text" name="details" required placeholder="红轴、大穗">
  27. <button>更新</button>
  28. </form>
  29. </div>
  30. <div>
  31. <form action="mysql.php?action=select" method="POST">
  32. <span>查询:</span>
  33. <label for="">产品:ID</label><input type="number" name="id" required placeholder="输入正整数">
  34. <button>查询</button>
  35. </form>
  36. </div>
  37. <div>
  38. <form action="mysql.php?action=delete" method="POST">
  39. <span>删除:</span>
  40. <label for="">产品:ID</label><input type="number" name="id" required placeholder="输入正整数">
  41. <button>删除</button>
  42. </form>
  43. </div>
  44. </body>
  45. </html>

2、运行结果

总结

1、数据库连接步骤:

  1. free_result();1mysqli数据库连接:$db=new mysqli(主机名,用户名,用户密码,默认数据库);
  2. 2、初始数据库:$stmt=$db->stmt_init();
  3. 3、准备数据库操作语句:增删改查(sql);
  4. 4、预处理sql语句:$stmt->prepare($sql);
  5. 5、绑定处理语句参数:$stmt->bindparam();
  6. 6、执行sql语句:$stmt->excute();
  7. 8、断开数据库连接:$stmt->close();(如果是查询数据库需要释放结果集:free_result();)

2、mysqli操作中常见函数:

  1. affected_rows():操作数据库收到影响的记录
  2. insert_id():插入记录的ID;
  3. $stmt->error;执行最后以一个语句的返回的错误信息;
  4. data_seek();指针函数;
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议