PHP8---MySQL扩展

news2024/12/28 21:38:22

目录

一、MySQL扩展的介绍

二、PHP和MySQL连接的基本操作

(1)MySQL连接的准备工作

         (2)插入删除操作

三、查询操作

(1)mysqli_fetch_assoc

(2)mysqli_fetch_row

(3)mysqli_fetch_array

四、相关函数

(1)有关字段信息

(2)其他函数


一、MySQL扩展的介绍

关于PHP和MySQL连接介绍我就不多说了,大家也清楚,PHP作为后台语言,与数据库的交互必不可少,不然我们如何制作出所谓的动态网站呢?这里我主要讲解的是PHP8。PHP5后的一些扩展都变了,就比如说连接的mysql_connect在PHP8中根本无法识别,他只能在PHP5以下的版本才能使用,PHP8连接使用的是mysqli_connect

二、PHP和MySQL连接的基本操作

(1)MySQL连接的准备工作

   PHP和MySQL连接基本上分成四步:

     (1)连接MySQL

     (2)设置字符集(客户端当前执行脚本是什么字符集就用什么字符集)

     (3)选择数据库

     (4)关门连接释放资源

  这里我做一个基本操作来熟悉一些,sql语句实现删除一行数据。

<?php
  //进行MySQL连接
  $link=mysqli_connect('localhost','用户名','密码','选择的数据库','3306') or die('数据库连接失败');
  //设置编码集
  mysqli_set_charset($link,'utf8');
  //进行MySQL语句
  if(mysqli_query($link,'delete from new_1 where id=1')){
    echo '成功';
  }
  else{
    echo '失败';
  }
?>

(2)插入删除操作

<?php
   header('Content-type:text/html;charset=utf-8');
   //进行MySQL连接
   $link=mysqli_connect('localhost','root','gq99668877','class_first','3306');
   //设置编码集
   mysqli_set_charset($link,'utf8');
   //sql语句
   $sql1="insert into new_1 value (null,'asd','abxc');";
   $sql2="delete from new_1 where name='asd'";
   $res=mysqli_query($link,$sql1);
   mysqli_query($link,$sql2);
?>

三、查询操作

查询的基本操作是获得结果集行数,然后开始获取,注意是一行一行获取,如果你想获取全部,可以使用循环得到,获取结果集有三种函数。如下。

(1)mysqli_fetch_assoc

他获取结果集后返回的是个数组,索引是字段名,数组值是数据值

<?php
   header('Content-type:text/html;charset=utf-8');
   //进行MySQL连接
   $link=mysqli_connect('localhost','root','gq99668877','class_first','3306');
   $sql="select *from new_1";
   $res=mysqli_query($link,$sql);
   echo '<pre>';
   $arr=mysqli_fetch_assoc($res);
   print_r($arr);
?>

 

(2)mysqli_fetch_row

他获取结果集后返回的是数组,数组下标就是数字0,1,2以此类推,数组值是数据值

<?php
   header('Content-type:text/html;charset=utf-8');
   //进行MySQL连接
   $link=mysqli_connect('localhost','root','gq99668877','class_first','3306');
   $sql="select *from new_1";
   $res=mysqli_query($link,$sql);
   echo '<pre>';
   $arr=mysqli_fetch_row($res);
   print_r($arr);
?>

 

 

 (3)mysqli_fetch_array

mysqli_fertch_array与前面不同的是它可以有三种形式,这里形式的意思是它可以也像前面两种一样索引是数字或者是字段,同时也可以两种都实现。即加上第二个参数即可,第二个参数是固定的,只能从下面三个选择。

MYSQLI_NUM:数组下标是数字

MYSQLI_ASSOC:数组下标是字段名=

MYSQLI_BOTH:前面两种都有,数组下标既有数字也有字段名

<?php
   header('Content-type:text/html;charset=utf-8');
   //进行MySQL连接
   $link=mysqli_connect('localhost','root','gq99668877','class_first','3306');
   $sql="select *from new_1";
   $res=mysqli_query($link,$sql);
   echo '<pre>';
   $arr1=mysqli_fetch_array($res,MYSQLI_NUM);
   $arr2=mysqli_fetch_array($res,MYSQLI_ASSOC);
   $arr3=mysqli_fetch_array($res,MYSQLI_BOTH);

   print_r($arr1);
   print_r($arr2);
   print_r($arr3);
?>

 

 

四、相关函数

(1)有关字段信息

 mysqli_num_fields:获得字段数,也就是知道有多少列

mysqli_fetch_field_direct:通过这个函数的指代,我们可以知道随意一个列的名字,表名等等。

<?php
   header('Content-type:text/html;charset=utf-8');
   //进行MySQL连接
   $link=mysqli_connect('localhost','root','gq99668877','class_first','3306');
   //设置编码集
   mysqli_set_charset($link,'utf8');
   //sql语句
   $sql="select *from new_1";
   $res=mysqli_query($link,$sql);
   
   //得到字段数
   echo mysqli_num_fields($res);
   echo '<br/>';

   $f=mysqli_fetch_field_direct($res,0);
   //第一列的字段名
   echo $f->name;
   echo '<br/>';
   //知道表名
   echo $f->table;
?>

(2)其他函数

mysqli_insert_id:获得上一条插入记录并且是自增情况的id。 

 

<?php
   header('Content-type:text/html;charset=utf-8');
   //进行MySQL连接
   $link=mysqli_connect('localhost','root','gq99668877','class_first','3306');
   //设置编码集
   mysqli_set_charset($link,'utf8');
   //sql语句
   $sql1="insert into new_1 value (null,'asd','abxc');";
   mysqli_query($link,$sql1);
   echo mysqli_insert_id($link);
?>

 

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

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

相关文章

19. 网站响应数据加一个简单的密,就能挡住80%的爬虫,你信吗?

本篇博客我们实现响应加密&#xff0c;由于本案例是JS逆向阶段的第一个案例&#xff0c;所以采用最基础加密手段。 爬虫训练场源码同步仓库为 GitCode 项目采集测试地址&#xff1a;爬虫训练场 爬虫训练场框架搭建Python Flask 端 Base64加密前台解密字符串渲染数据框架搭建 本…

Es之mapping

1&#xff09;、字段类型 2&#xff09;、映射 Mapping&#xff08;映射&#xff09; Mapping 是用来定义一个文档&#xff08;document&#xff09;&#xff0c;以及它所包含的属性&#xff08;field&#xff09;是如何存储和 索引的。比如&#xff0c;使用 mapping 来定义…

深入解析Linux虚拟化KVM-Qemu分析之KVM源码

说明&#xff1a; KVM版本&#xff1a;5.9.1QEMU版本&#xff1a;5.0.0工具&#xff1a;Source Insight 3.5&#xff0c; Visio 1. 概述 从本文开始将开始source code的系列分析了&#xff1b;KVM作为内核模块&#xff0c;可以认为是一个中间层&#xff0c;向上对接用户的控制…

idea中热部署插件JRebel的激活方式

idea中热部署插件JRebel的激活方式 一、打开jrebel 激活面板&#xff0c;如图&#xff1a; 二、选中Team URL&#xff08;connect to online licensing service&#xff09; 1、在上面的框中输入激活的url地址 http://127.0.0.1:8888/132d042c-3b1a-4c45-9044-b7897c3de7882…

遗传算法改进(IGA)+python代码实现

遗传算法改进&#xff08;IGA&#xff09;python代码实现一、变异概率的改进&#xff08;1&#xff09;单点变异&#xff08;2&#xff09;多点变异&#xff08;3&#xff09;选择性的突变概率二、交叉概率的改进三、适应度函数的改进&#xff08;1&#xff09;sigmoid函数&…

PGL 系列(六)node2vec

node2vec DeepWalk存在的问题是比较简单直接,而图结构往往是一个复杂结构,需要考虑很多因素,在深度优先搜索方法之外,还有广度优先搜索,结合以上两种方式可以更好的探索图模型,即node2vec。

华为交换机配置

文章目录网络规划与设计机房连线图PON网络配置网络规划与设计 OLT: 网络光线路终端(Optical Line Terminal) ONU分为两种 MDU&#xff08;Multi-DwellingUnit&#xff0c;多住户单元&#xff09; MDU主要应用于FTTB应用类型下的多个住宅用户的接入&#xff0c;一般具有至少4个…

【JDK工具】jinfo、jps、jstack、jstat、jmap

目录一、前言二、关键工具2.1 jps 显示所有JAVA进程信息1. 参数信息2. 常用命令2.2 jinfo 查看虚拟机配置参数信息1. 查看虚拟机参数 jinfo -flags pid2. 查看虚拟机指定参数 jinfo -flag 具体参数 pid3. 查看环境变量 jinfo -sysprops pid4. 参数列表2.3 jstack1. 能排查哪些问…

springboot整合之Validated参数校验

特别说明&#xff1a;本次项目整合基于idea进行的&#xff0c;如果使用Eclipse可能操作会略有不同&#xff0c;不过总的来说不影响。 springboot整合之如何选择版本及项目搭建 springboot整合之版本号统一管理 springboot整合mybatis-plusdurid数据库连接池 springboot整…

JVM面试大总结

一、汇总 JVM是运行在操作系统之上的&#xff0c;它与硬件没有直接的交互。先说一下JVM的内存区域&#xff0c;当函数开始运行时&#xff0c;JVM拿到自己的内存将自己的内存区域进行了分割&#xff0c;分为五块区域&#xff1a;线程共享的有堆、方法区&#xff0c;线程私有的有…

Hadoop MapReduce 介绍

Hadoop MapReduceMapReduce核心思想设计构思什么是MapReduceMapReduce的特点MapReduce的不足&#xff08;局限性&#xff09;MapReduce组成Hadoop MapReduce实现流程map阶段执行过程Reduce阶段执行过程Shuffle机制Map端ShuffleReducer端的shuffleMapReduce核心思想 MapReduce的…

基于MVC的在线购物系统

摘 要本毕业设计的内容是设计并且实现一个基于net语言的在线购物系统。它是在Windows下&#xff0c;以SQL Server为数据库开发平台&#xff0c;Tomcat网络信息服务作为应用服务器。在线购物系统的功能已基本实现&#xff0c;主要包括首页、个人中心、会员用户管理、商品分类管理…

Mac操作系统配置Git

下载Git mac在安装git时&#xff0c;一般只需要一行指令brew install git 验证Git 在我们安装过Git之后&#xff0c;我们可以输入git --version进行验证。如果我们成功进行了安装之后&#xff0c;我们可以看到下图这样的结果。 配置Gitee 生成密钥对 首先我们通过cd ~/.…

Allegro174版本新功能介绍之Symphony模式下放置器件

Allegro174版本新功能介绍之Symphony模式下放置器件 Allegro在172版本在Symphony模式下,是无法放置器件的,如下图 只有一个Swap的选项 在升级到了174版本的时候,Symphony模式是同样支持放器件的 具体介绍如下 任意打开一个174版本的PCB,选择Start Symphony Server

反射方程的分解、预计算BRDF

反射方程 仔细研究反射方程可以发现BRDF的漫反射kd和镜面反射ks是相互独立的&#xff0c;所以可以将方程分解为两部分&#xff1a; 通过分别积分两部分再求即可得到最终的反射结果。 漫反射部分 仔细观察漫反射积分&#xff0c;我们发现漫反射兰伯特项是一个常数项&#xff08;…

Hadoop YARN

Hadoop YARNYARN的组成YARN3大件的作用MR提交计算程序的过程Scheduler调度策略FIFO Scheduler&#xff08;先进先出调度&#xff09;Capacity Scheduler&#xff08;容量调度&#xff09;Fair Scheduler(公平调度)Hadoop YARN是一个是一个通用资源管理系统和调度平台&#xff0…

Ambire Wallet 2022 年度回顾

在推出的第一年&#xff0c;Ambire Wallet 确立了自己作为 EVM 领域顶级智能合约钱包解决方案之一的地位&#xff1a;拥有近 10 万个账户&#xff0c;它通过其 NPM sig lib 和多样化的沟通努力为类别应用扫清了道路。 回顾过去一年我们最大的亮点 是的&#xff0c;朋友们&#…

vue路由的介绍和使用(包括前端导航、导航守卫)

文章目录路由基本使用实现简易的前端路由安装和配置vue-router路由安装vue-router包创建路由模块导入并挂载路由模块声明路由链接和占位符使用router-link替代a连接redirect重定向嵌套路由声明子级路由链接和占位符声明嵌套路由的规则动态路由动态路由匹配(基本用法)需求:在Mov…

Java源码篇之容器类——HashMap

以下是基于jdk17 Java源码篇之容器类——HashMapconstructorput()hash()putVal()resize()treeifyBin()treeify()tieBreakOrder()balanceInsertion()moveRootToFront()checkInvariants()constructor // 无参构造 public HashMap() {this.loadFactor DEFAULT_LOAD_FACTOR; // a…

多线程并发检测触发器触发算法优化,附详细代码 - 定时执行专家

目录 ◆ V6.5版之前的并行检测方案 ◆ V6.5版之前的并行检测方案存在的问题 ◆ V6.5版本的并行检测方案 ◆ 定时执行专家 - 简介 ◆ 定时执行专家 - 最新版下载 一些用户说任务数量可能达到200个&#xff0c;让我比较惊讶&#xff0c;这个软件的设计之初并没有考虑这么多的…