PHP8---MySQL扩展

目录

一、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);
?>

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

菜到极致就是渣

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

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

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

打赏作者

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

抵扣说明:

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

余额充值