<?php
/*
 * MYSQLI查询
 */
    #设置字符集
    header('Content-type:text/html;charset=utf-8');
    $link=mysqli_connect('localhost:3306','root','zxc111','wl');
    #判断是否连接成功
    if(mysqli_connect_error('$link')){
        die("连接失败");//die是一个显示出一条语句的函数。并且自带退出。
    }else{
        echo "连接成功";
    }
    #设置字符集
    mysqli_set_charset($link,'utf8');

    #定义查询语句
    $select="SELECT * FROM `stu1` WHERE `id`>=1";

    #开始查询
    $resurt=mysqli_query($link,$select);
    if ($resurt){
        echo "错误".mysqli_error($link);
    }else{
        echo "语句执行成功";
    }
    //输出查询到的记录数量
    echo "查询到的记录数量:".mysqli_num_rows($resurt);
    echo "<hr/>";
    if ($link && mysqli_num_rows($resurt)>0){
        /*@mysqli_fetch_array()这里讲一下这个函数第二个传参位置。
         * MYSQLI_ASSOC:键显示的是映射字段
            MYSQLI_NUM:键显示的是字段下标
            MYSQLI_BOTH:既显示映射字段又显示字段下标
         */


        #单个手动查询(效率慢)
        $row=mysqli_fetch_array($resurt,MYSQLI_ASSOC);//显示1条数据
        echo "<pre/>";
        print_r($row);
    }else{
        echo "MYSQL未连接或者没有查询到任何记录";
        return exit();
    }
    //指针复位:因为每显示一条数据指针就会往后移动一位所以如何想从头开始输出的话就需要用到指针复位。
    mysqli_data_seek($resurt,0);
    echo '<hr/>';
    #一个一个的ysqli_fetch_array来输出确实太慢这里我们会考虑到用遍历来进行操作。
    echo "循环遍历结果集";
    #判断如果语句不报错而且查询到的记录数大于0的话就开始遍历。
    if ($resurt && mysqli_num_rows($resurt)>0){
        while ($row=mysqli_fetch_array($resurt)){
            echo '<pre/>';
            print_r($row);
        }

    }else{
        echo "MYSQL未连接或者没有查询到任何记录";
        return exit();
    }
    echo "<hr/>";
    #将结果集解析到二维数组中去
    echo '将结果集一次解析到二维数组中';
    //复位结果集指针
    mysqli_data_seek($resurt,0);
    ####
    $rows=[];
    if ($resurt && mysqli_num_rows($resurt)>0){
        while ($row=mysqli_fetch_array($resurt)){
            $rows[]=$row;
        }
}
    echo "<pre>";
    print_r($rows);
    #释放结果集
mysqli_free_result($resurt);
//关闭MYSQL连接
mysqli_close($link)

?>