热搜:前端 nest neovim nvim

PHP基础-php连接mysql数据库操作

lxf2023-06-16 04:17:29

连接数据库基本步骤

1-连接数据库
2-准备sql语句
3-执行sql语句
4-获取执行的结果并分析
5-释放并关闭数据库

操作数据库常用API

  • mysqli_connect(IP,用户名,密码,数据库名) 连接数据库
  • mysqli_query($link,$sql) 执SQL语句
  • mysqi_error($link); 返回最近调用函数的错误描述
  • mysql_close($link) 关闭连接
  • mysqli_fetch_assoc($res) 以关联数组的形式范湖数据
  • mysqli_num_rows(resource $res); 返回结果集的行数

sql操作注意事项:

  • 使用PHP发送SQL语句前,可以先打印SQL语句,检查语句的正确性。

  • 使用变量拼接SQL语句时,字段为字符串类型,需要在变量的两侧使用单、双引号包裹。可以将所有的字段外面都使用双引号包含。

    //常用方法
      //mysqli_connect('ip地址','用户名','密码','数据库名称');
      //如果成功返回 数据库连接
      //如果失败返回 false

      //die('文本');  终止程序的执行

      //mysqli_query(数据库连接,要执行的sql语句);
      //成功 返回 true
      //失败 返回 false

      //mysqli_close(数据库连接); 关闭数据库的连接
      //mysqli_error(数据库的连接); 输出数据库最近一次执行错误信息

     //@ 抑制错误 
     //1-连接数据库 
     @$link= mysqli_connect('127.0.0.1','root','','test1');
    // 如果出错 给用户提示
     if(!$link){
         //如果数据库连接失败,后面代码直接结束
         die('数据库连接失败!');     
     }

    //2-操作数据 
     //2-1 准备好sql语句(删除)
     $id=14;
     //双引号可以解析变量
     $sql="delete from stu1 where icd=$id";
    
     //2-2 让数据库执行sql语句  
     if(mysqli_query($link,$sql)){
         echo '删除成功!';
     }else{
        echo '<br/>'; 
         //输出数据库最近一次执行错误 
         echo mysqli_error($link);
     }

     //关闭数据库连接
     mysqli_close($link);

非查询(增删改)和查询语句(select)的区别

通过mysqli_query()函数,来执行sql语句,操作数据库

  • 执行的是非查询sql语句时,mysqli_query()执行成功返回true,失败返回false 作为标识

  • 而执行查询的sql语句是,mysqli_query()执行成功,返回查询数据的结果集(二维数组),失败返回false,我们拿到数据库中返回的数据进行渲染处理; 查询数据逻辑如下

        //操作数据的基本步骤:
        //1-连接数据库 
        //2-准备sql语句
        //3-操作数据(对数据库进行增删改查)
        //4-获取执行结果 
        //5-关闭数据连接
         //1-连接数据库 
         @$link=mysqli_connect('127.0.0.1','root','','test1');
         if(!$link){
             die('数据库连接失败!');
         }
    
         //进行查询炒作
         $sql="select * from stu1";
    
         //执行sql
         // 如果 mysqi_query 执行的是查询语句
         // 查询成功 返回的 查询到的数据的结果集
         // 查询失败 返回 false  
         $res=mysqli_query($link,$sql);
    
        //如果获取到数据 把数据保存到php中,然后传给前端
        //当查询结果不为false并且数据行数大于0行 进行保存
        //mysqli_num_rows($res);//获取结果集的行数
         if(!$res || mysqli_num_rows($res)==0 ){
             die('未获取到数据!');
         }
    
         //对数据进行保存
         //获取结果集中的数据
         // mysqli_fetch_assoc($res); 返回的是一个关联数组 一次取一条数据
        while($row=mysqli_fetch_assoc($res)){
            $arr[]=$row; //把每次获取的一行的关联数组的数据 放到$arr数组
        }
    
        mysqli_close($link);
    

    数据库工具函数的封装

    为了提高代码的复用性,把数据增删改的操作封装成一个方法

    封装公共代码部分,变换的部分提取成参数

      //定义常量 存储数据库基本信息
      define('HOST','127.0.0.1');
      define('UNAME','root');
      define('PWD','');
      define('DB','test1');
      //非查询功能
      function my_exec($sql){
          //1-连接数据库
          @$link=mysqli_connect(HOST,UNAME,PWD,DB);
          //判断
          if(!$link){
              die('数据库连接失败!');
          }
          //2-执行sql语句,判断执行结果
          if(!mysqli_query($link,$sql)){
              //如果失败输出错误信息
              echo  '操作失败!'.mysqli_error($link); 
          }
          //3-关闭连接
          mysqli_close($link);
      }

      //查询功能
      function my_query($sql){
          //1-连接数据库
          @$link=mysqli_connect(HOST,UNAME,PWD,DB);
          //判断连接
          if(!$link){
              echo '数据库连接失败!';
              return false;
          }

          //执行查询
          $res=mysqli_query($link,$sql);
          //判断是否有数据
          if(!$res || mysqli_num_rows($res)==0 ){
              echo '未获取到数据!';
              //关闭连接
              mysqli_close($link);
              return false;
          }
          //保存数据 二维数组的形式
          //获取结果集中所有的数据
          while($row=mysqli_fetch_assoc($res)){
              $arr[]=$row;
          }
          //关闭连接
          mysqli_close($link); 
          //返回数据库的数据
          return $arr;               
      }
本网站是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 本网站还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 除此之外,本网站还拥有一个活跃的社区,您可以在社区中与其他前端开发者交流技术、分享经验、解决问题。我们相信,社区的力量可以帮助您更好地成长和进步。 在本网站中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!