PHP 原生操作 Mysql 增删改查案例

  • PHP 原生操作 Mysql

  • 原生 PHP 操作 Mysql ,如果我们需要在项目中使用,那么需要进行封装一个数据库连接对象,不然得到处写连接代码。


  • 用户增删查案例测试,改跟增一样写法,附带 PHP 文件加载的四种方式

    • demo 效果

    • db.php 文件
    <?php
    // 主机名
    $db_host = "localhost";
    // 端口号
    $db_port = "3306";
    // 用户名
    $db_user = "root";
    // 密码
    $db_pass = "123456";
    // 数据库名
    $db_name = "test";
    // 字符集
    $db_charset = "utf8";
    
    // 1、连接 Mysql 服务器,如果连接成功返回 Mysqli 连接对象,如果失败,则返回 false
    if (!$link = @mysqli_connect($db_host.":".$db_port, $db_user, $db_pass)) {
      echo "<h2>PHP连接 Mysql 服务器失败!</h2>";
      // 输出错误信息
      echo "系统错误信息:".mysqli_connect_error();
      // 终止程序 exit() 或 die()
      die();
    }
    
    // 2、选择数据库,成功返回 true, 失败返回 false
    if (!mysqli_select_db($link, $db_name)) {
      echo "<h2>选择 {$db_name} 数据库失败!</h2>";
      // 终止程序 exit() 或 die()
      die();
    }
    
    // 3、设置字符集,成功返回 true, 失败返回 false,一般都是成功,没必要判断
    mysqli_set_charset($link, $db_charset);
    ?>
    
    • index.php 文件
    <?php
    // 导入公共文件
    require_once("./db.php");
    // 执行查询语句
    $sql = "select * from user";
    $result = mysqli_query($link, $sql);
    // 获取所有行数据
    $arrs = mysqli_fetch_all($result, MYSQLI_ASSOC);
    // print_r($arrs);
    // 获取学生个数
    $count = mysqli_num_rows($result);
    ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
      <script>
        // 添加用户
        function addUser() {
          location.href = "./add.php";
        }
        // 删除用户
        function deleteUser(id) {
          // 询问是否删除
          if (window.confirm("确定要删除吗?")) {
            // 跳转到 delete.php 页面进行删除,只要不是表单发送的都是 GET 请求
            location.href = "./delete.php?id="+id;
          }
        }
        // 修改用户
        function modifyUser(id) {
          // 跟添加一样,跳转新页面即可
        }
      </script>
    </head>
    <body style="display: flex; align-items: center; flex-direction: column;">
      <!-- 提示 -->
      <h2>总共有 <?php echo $count ?> 个人</h2>
      <a href="#" onclick="addUser()" style="margin-bottom: 20px;">添加用户</a>
      <!-- 列表 -->
      <table width="300" border="1" rules="all" cellpadding="5">
        <!-- 头部 -->
        <tr bgcolor="#ccc">
          <th>id</th>
          <th>名称</th>
          <th>年龄</th>
          <th>操作</th>
        </tr>
        <!-- 展示数据 -->
        <?php foreach ($arrs as $arr) { ?>
          <tr style="text-align: center;">
            <td><?php echo $arr["id"] ?></td>
            <td><?php echo $arr["name"] ?></td>
            <td><?php echo $arr["age"] ?></td>
            <!-- 操作 -->
            <td>
              <a href="#" onclick="modifyUser(<?php echo $arr['id'] ?>)">修改</a>
              <!-- 删除用户操作 -->
              <a href="#" onclick="deleteUser(<?php echo $arr['id'] ?>)">删除</a>
            </td>
          </tr>
        <?php } ?>
      </table>
    </body>
    </html>
    
    • add.php 文件
    <?php
    // 导入数据库公共代码
    require_once("./db.php");
    // 判断表单是否提交
    if (isset($_POST["submit"])) {
      print_r($_POST);
      // 获取需要添加的数据
      $name = $_POST["name"];
      $age = $_POST["age"];
      // 构建插入 sql 语句
      $sql = "insert into user (name, age) values ('$name', $age)";
      // 执行 sql 语句
      if (mysqli_query($link, $sql)) {
        echo "<h2>用户 {$name} 新增成功!</h2>";
        // 告诉浏览器执行代码:等待1秒,并跳转到 index.php 文件
        header("refresh:1;url=./index.php");
        // 终止程序
        die();
      }else{
        echo "<h2>用户 {$name} 新增失败!</h2>";
        // 终止程序
        die();
      }
    }
    ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
    </head>
    <body>
      <!-- from 表单提交 -->
      <form method="post">
        姓名:<input type="text" name="name">
        年龄:<input type="text" name="age">
        <input type="submit" name="submit" value="提交">
        <input type="reset" value="重置">
      </form>
    </body>
    </html>
    
    • delete.php 文件
    <?php
    // 导入数据库公共代码
    require_once("./db.php");
    // 获取地址栏从传递的id,只要不是表单发送的都是 GET 请求
    $id = $_GET["id"];
    // 构建删除 sql 语句
    $sql = "delete from user where id=$id";
    // 执行 sql 语句
    if (mysqli_query($link, $sql)) {
      echo "<h2>id={$id}的用户记录删除成功!</h2>";
      // 告诉浏览器执行代码:等待1秒,并跳转到 index.php 文件
      header("refresh:1;url=./index.php");
      // 终止程序
      die();
    }else{
      echo "<h2>id={$id}的用户记录删除失败!</h2>";
      // 告诉浏览器执行代码:等待1秒,并跳转到 index.php 文件
      header("refresh:1;url=./index.php");
      // 终止程序
      die();
    }
    ?>
    
  • PHP 原生操作 Mysql 分页数据案例

  • 9
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡尔特斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值