PHPMySQL基础(二):通过PHP对MySQL进行增、删、改、查

news2024/9/28 17:17:07

PHP&MySQL基础(一):创建数据库并通过PHP进行连接_长风沛雨的博客-CSDN博客

前面创建了一个数据库和表,并且用 mysqli()实例化了一个连接对象$link
这篇记一下怎么用实例化对象去对表进行一个增删改查操作

目录

一、连接数据库,并处理连接异常,同时统一字符集编码

二、增

三、改

四、删

五、查

六、关闭数据库


一、连接数据库,并处理连接异常,同时统一字符集编码

我们需要先连接数据库,也就是实例一个 mysqli()的连接类,并且,我们需要对返回的连接对象做一个错误的处理

    <?php
      //1、连接数据库
      $link = new mysqli('localhost','root','123456','db_test','3306');
      // var_dump($link);
      //2、错误连接处理
      if($link->connect_error){ # 判断如果link对象里面的异常不为空
       switch($link->connect_error){
           case 1045 : echo " 访问被拒绝,可能用户名或者密码错位";
           break;
           case 1049 : echo " 数据库名称错位";
           break;
           default:break;
        }        
      }else{
        //连接不存在问题,开始处理操作功能
        //3、统一字符编码:使用连接对象自带的query方法执行sql语句,该sql是用来设置字符集编码
        $link->query("SET NAMES utf8");
        //我们也可以使用下面的两个方法(选其一)来设置字符集编码
        // mysqli_query($link,"SET NAMES utf8"); // 全局执行sql语句的函数
        // mysqli_set_charset($link,'utf8'); // 专门用于设置数据库操作时的字符集编码的函数
        //接下来的代码用来处理需求功能
      }
    ?>

二、增

先编写一个对数据库进行增加的操作

需求使用到的:连接对象->query($sql)

query():用来执行sql语句

        //4、处理数据库的增加操作
        //4.1 编写新增的SQL语句
        $addSql = "INSERT INTO tb_user(userName,pwd,phone,birthday,email)
                   VALUES ('张三','123456789','10086','2023-05-30','10000@163.com')";
        //4.2 执行增加的sql语句
        //通过php中连接对象的query()方法,即可执行sql语句并返回一个值:插入成功返回true,否则false
        $res = $link->query($addSql);
        var_dump($res);   

这是为运行前的表格数据

执行增加操作

 可以看到代码里输出的 $res,返回了一个 true 的值,就是表示增加操作成功了

看一下数据库的表

 没有问题

三、改

我这里把表中的第一条数据Tom的值修改举例子

这是对应的sql

UPDATE `tb_user` SET `userName` = 'Tom大哥', `pwd` = '123456789' WHERE `tb_user`.`id` = 1

在PHP中跑起来

        //5、处理数据库的修改操作
        /*
          修改:修改成功返回true,修改失败返回false
        */
        //5.1 编写修改的sql
        $updateSql = "UPDATE `tb_user` SET `userName` = 'Tom大哥', `pwd` = '123456789' WHERE `tb_user`.`id` = 1";
        //5.2 执行sql
        $res = $link->query($updateSql);
        //5.3 查看结果
        var_dump($res);

 先看一下第一行的数据

运行代码

 返回的结果为true,回去看一下表

 修改同样没有问题

四、删

进行删除的处理也是比较跟上面的操作一样的

在这里尝试把id为4的数据删除掉

编写删除的代码

        /*
          六、执行删除的操作:
              删除成功返回true,删除失败返回false
        */
        //6.1 编写删除的sql
        $deleteSql = "DELETE FROM `tb_user` WHERE id = 4";
        //6.2 进行删除
        $res = $link->query($deleteSql);
        var_dump($res);

跑一下代码

 返回的也是一个true,再看一下数据库

删除成功~

五、查

查询可以指定id查询,也可以直接查询全部的数据,查询可以拓展的东西就比较多一点

这里就简单查询一下全部的数据和指定id的数据

        /*
          七、查:查询结果是一个mysqli_result 结果集
        */
        //7.1 查询指定的id数据
        $selectIdSql = "select * from tb_user where id = 1";
        $res1 = $link->query($selectIdSql);
        var_dump($res1);

        //7.2 查询表中的全部数据
        $selectAllSql = "select * from tb_user";
        $res2 = $link->query($selectAllSql);
        var_dump($res2);

输出一下返回的结果

 返回的是一个结果集,这些字段的意思是:

1、num_rows:查询出来的条数

2、field_count:查询的字段数量

六、关闭数据库

在数据库处理异常的else分支的代码块末尾中,当我们执行完毕sql操作以后,就应该关闭掉数据库的连接,释放资源

//关闭数据库的连接
mysqli_close($link); //销毁掉数据库连接对象,释放资源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/586636.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AcWing第 105 场周赛

AcWing 5029. 极值数量 给定一个长度为 n&#xfffd; 的整数数组 a1,a2,…,an&#xfffd;1,&#xfffd;2,…,&#xfffd;&#xfffd;。 如果一个元素左右两边均有相邻元素&#xff08;也就是不位于数组的两端&#xff09;&#xff0c;且满足以下两个条件之一&#xff1a…

RK3588平台开发系列讲解(基础篇)Linux 内核有多少 API 接口

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、Linux 内核有多少 API 接口二、Linux 系统调用表三、Linux 系统调用实现3.1、申明系统调用3.2、定义系统调用沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 Linux 作为比较成熟的操作系统,功能完善,它…

apache的配置和应用

文章目录 一、httpd服务支持的虚拟主机类型包括以下三种:二、构建Web虚拟目录与用户授权限制三、日志分割四、 虚拟Web主机指的是在同一台服务器中运行多个Web站点&#xff0c;其中每一个站点实际上并不独立占用整个服务器&#xff0c;因此被称为“虚拟”Web 主机。通过虚拟 We…

Flume实现Kafka数据持久化存储到HDFS

写在前面&#xff1a;博主是一只经过实战开发历练后投身培训事业的“小山猪”&#xff0c;昵称取自动画片《狮子王》中的“彭彭”&#xff0c;总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域&#xff0c;如今终有小成…

eclipse连接mysql全网最详细教程

第一步&#xff1a;我们先做连接前的环境准备工作 1、首先在MySQL官网下载驱动&#xff1a;&#xff08;下载地址博主给大家整理好了直用&#xff09; https://dev.mysql.com/downloads/file/?id498587 下下来是这个样子 2、在eclipse中新建一个工程 3、添加驱动到eclipse里…

小主机折腾记12 HP 285G3 PRO MT

五一期间&#xff0c;无事&#xff0c;咸鱼购入HP 285G3 PRO MT折腾 HP 285 PRO G3 MT准系统 150包邮 R5 2600 250包邮 金百达3200内存 229京东包邮 直接说准系统情况&#xff1a; 1.主机有三个sata接口&#xff0c;两个硬盘接口&#xff0c;一个光驱接口&#xff08;应该是可以…

BM1684X开发环境搭建--SOC mode

环境配置-SOC模式---------------------------------------- 1&#xff1a;对于SoC模式&#xff0c;模型转换也需要在docker开发容器中完成&#xff1b;C/C程序建议在x86主机上使用交叉编译工具链编译生成可执行文件后&#xff0c;再拷贝到SoC目标平台运行&#xff1b; 2&…

macOS运行软件提示:“嘉立创EDA.app” 已损坏,无法打开。你应该将它移到废纸篓。

一、问题描述 macOS运行软件提示&#xff1a;“嘉立创EDA.app” 已损坏&#xff0c;无法打开。你应该将它移到废纸篓。 二、问题分析 macOS安全性问题导致的。 三、解决方案 1、在系统设置、隐私与安全性、安全性、允许从以下位置下载的应用程序中&#xff0c;选择“任何来…

OpenLDAP 搭建及简单使用

文章目录 1、前言LDAPOpenLDAP 2、安装&#xff08;通过 Docker 部署&#xff09;环境说明镜像说明部署客户端&验证连接示例 总结 1、前言 LDAP 轻型目录访问协议&#xff08;英文&#xff1a;Lightweight Directory Access Protocol&#xff0c;缩写&#xff1a;LDAP&am…

java.awt.datatransfer.Clipboard剪切板复制粘贴String

java.awt.datatransfer.Clipboard剪切板复制粘贴String java.awt.Toolkit 是一个可用来获取操作剪切板的工具 Toolkit toolkit Toolkit.getDefaultToolkit(); 获得 tookit Clipboard systemClipboard toolkit.getSystemClipboard(); 获得操作系统级的剪切板 Toolkit toolk…

算法基础学习笔记——⑬高斯消元\组合计数\容斥原理

✨博主&#xff1a;命运之光 ✨专栏&#xff1a;算法基础学习 目录 ✨高斯消元 ✨组合计数 &#x1f353;通过预处理逆元的方式求组合数: &#x1f353;Lucas定理: &#x1f353;分解质因数法求组合数&#xff1a; 前言&#xff1a;算法学习笔记记录日常分享&#xff0c;需…

【小可爱专属教程】服务器配置环境

【小可爱专属教程】服务器配置环境 安装CUDA和CUDNN安装CUDA安装CUDNN 安装Anaconda3安装Pytorch 安装CUDA和CUDNN 安装CUDA 文件已经上传至百度网盘 链接&#xff1a;https://pan.baidu.com/s/1LKzZXtSr1kXOnlfbO0cmEw?pwdgfbb 提取码&#xff1a;gfbbsudo sh cuda_11.3.…

【技术解决方案】(多级)缓存架构最佳实践

凌晨三点半了&#xff0c;太困了&#xff0c;还差一些&#xff0c;明天补上… 因为自己最近做的项目涉及到了缓存&#xff0c;所以水一篇缓存相关的文章&#xff0c;供大家作为参考&#xff0c;若发现文章有纰漏&#xff0c;希望大家多指正。 缓存涉及到的范围颇广&#xff0c…

spring boot整合Swagger2(2.9.2版本)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

计算机组成原理-中央处理器-指令流水线和多处理器

目录 一、指令流水线基本概念 1.1影响流水线的因素 1.1.1结构相关(资源冲突) 1.1.2 数据相关(数据冲突) 1.1.3 控制相关(控制冲突) 1. 2 流水线分类 二、流水线的多发技术 2.1 超标量技术 2.2 超流水技术 2.3 超长指令字 三、五段式指令流水线 四、多处理器系统基本概念…

I.MX RT1170加密启动详解(1):Encrypted Boot image组成

使用RT1170芯片构建的所有平台一般都是高端场合&#xff0c;我们需要考虑软件的安全需求。该芯片集成了一系列安全功能。这些特性中的大多数提供针对特定类型攻击的保护&#xff0c;并且可以根据所需的保护程度配置为不同的级别。这些特性可以协同工作&#xff0c;也可以独立工…

chatgpt赋能python:Python中的区间:什么是区间(Interval),如何使用区间

Python 中的区间&#xff1a;什么是 区间&#xff08;Interval&#xff09;&#xff0c;如何使用区间 在Python中&#xff0c;区间&#xff08;Interval&#xff09;是一个广泛使用的数据结构&#xff0c;用于表示一段连续的数据范围。使用区间可以更方便地处理各种数据类型&a…

本地搭建CFimagehost私人图床【公网远程访问】

文章目录 1.前言2. CFImagehost网站搭建2.1 CFImagehost下载和安装2.2 CFImagehost网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar临时数据隧道3.2 Cpolar稳定隧道&#xff08;云端设置&#xff09;3.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 4.公网访问测…

代码随想录算法训练营第四十一天 | 力扣 343. 整数拆分, 96.不同的二叉搜索树

343. 整数拆分 题目 343. 整数拆分 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0c;并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 解析 1.确定dp数组&#xff08;dp table&#xff09;以及下标的…

史上最详细的使用Claude和接入Claude-api教程

是什么&#xff08;What&#xff09; Claude 是最近新开放的一款 AI 聊天机器人&#xff0c;是世界上最大的语言模型之一&#xff0c;比之前的一些模型如 GPT-3 要强大得多&#xff0c;因此 Claude 被认为是 ChatGPT 最有力的竞争对手。Claude 的研发公司是专注人工智能安全和研…