• Mysqli 简单使用笔记


    <?php
    echo '<pre>';
    $mysqli = new mysqli('localhost', 'root', '???');
    if ($mysqli-> connect_error) {
    echo '连接失败<br/>';
    echo '错误信息:' , $mysqli->connect_error, '<br/>';
    echo '错误编号:' , $mysqli->connect_errno, '<br/>';
    exit();
    }
    //选择数据库
    $mysqli->select_db('tp6');
    //设置字符集
    $mysqli->query('set names utf8');
    //客户端版本
    echo $mysqli->client_version , '<br/>';
    //客户端信息
    echo $mysqli->client_info, '<br/>';
    echo $mysqli->get_client_info(), '<br/>';
    //服务器版本
    echo $mysqli->server_version, '<br/>';
    //服务器信息
    echo $mysqli->server_info, '<br/>';
    echo $mysqli->get_server_info(), '<br/>';
    echo '<hr/>';


    // ----------------------------------------mysqli增强版扩展-----------------------------------------------


    //增删改返回bool, 执行|查询,使用query()
    // $sql = 'insert into goods values(null, "罐装百事可乐", 56, 8)';
    // $ret = $mysqli->query($sql);
    // var_dump($ret);
    // echo '返回受影响行数', $mysqli->affected_rows, '<br/>';
    // echo '新插入的ID是:', $mysqli->insert_id, '<br/>';
    // echo '<hr/>';

    //查询数据,返回结果集对象
    //$sql = 'select * from goods';
    //$result = $mysqli->query($sql);
    //$arr = $result->fetch_all(); //默认返回的是索引数组
    //$arr = $result->fetch_all(MYSQLI_ASSOC); //可以设置常量,MYSQLI_NUM, MYSQLI_ASSOC, MYSQLI_BOTH
    //$arr = $result->fetch_array(); //返回一条索引关联并存的数组, 默认,可设置变量,MYSQLI_ASSOC, MYSQLI_NUM,MYSQLI_BOTH
    //$arr = $result->fetch_array(MYSQLI_ASSOC); //返回一条索引关联并存的数组
    //$arr = $result->fetch_row(); //返回一条索引数组
    //$arr = $result->fetch_assoc(); //返回一条关联数组
    //$arr = $result->fetch_object(); //返回一条数据作为对象,字段名为属性名
    //$arr = $result->fetch_fields(); //返回全部字段信息
    //$arr = $result->fetch_field(); //每调用一次返回一个字段信息
    // while($row = $result->fetch_assoc()) {
    // print_r($row);
    // }
    // $result->free_result(); //释放结果集


    //----------------------------------------------mysqli预处理语句-----------------------------------
    //$sql = 'insert into goods values(?, ?, ?, ?)'; //准备一条sql
    //$stmt = $mysqli->prepare($sql); //对语句预处理
    //准备参数
    // $goods_id = null;
    // $goods_name = '苹果7s plush';
    // $goods_price = 2361;
    // $brand_id = 1;
    //绑定参数, 第一个参数是指定后面参数的类型
    //$stmt->bind_param('ssdi', $goods_id, $goods_name, $goods_price, $brand_id);
    //执行预处理,返回bool
    // if ( $stmt->execute() ){
    // echo '受影响行数:' , $stmt->affected_rows, '<br/>';
    // echo '插入的ID是:' , $stmt->insert_id, '<br/>';
    // }else{
    // echo '插入失败:', $stmt->error;
    // }

    //查询所有呢?
    //$stmt = $mysqli->prepare('select * from goods');
    //$stmt->execute();
    //从准备好的语句中获取结果集
    //$result = $stmt->get_result();
    // while($row = $result->fetch_assoc()) {
    // print_r($row);
    // }
    // var_dump($result->fetch_assoc());
    // var_dump($result->fetch_assoc());
    // $result->free_result();

    //执行一条
    // $stmt = $mysqli->prepare('select * from goods where goods_id = ?');
    // $goods_id = 45;
    // $stmt->bind_param('i', $goods_id);
    // $stmt->execute();
    // $result = $stmt->get_result();
    // var_dump($result->fetch_assoc());

    //-可是以上两种方式虽然可以获取结果集,但似乎不是预处理语句的结果集,不像手册里面那样,试试其他吧
    $stmt = $mysqli->prepare('select * from goods');
    $stmt->execute();
    //传输结果集
    var_dump($stmt->store_result());
    var_dump($stmt->num_rows);
    $stmt->bind_result($id, $name, $price, $brand_id);
    //可是fetch,里面好像没有字段名呀
    while($stmt->fetch()){
    echo $id, '___', $name, '____', $price, '____', $brand_id, '<br/>';
    }
    $stmt->free_result();
    $stmt->close();

    //算了,懒得翻了,预处理没有,PDO有就行

  • 相关阅读:
    在 K8s 中,创建资源有两种方式 查看所有api资源kubectl apiresources kubectl get apiservice
    限制CPU进程使用率cpulimit
    【转载】 “时刻准备下岗”的互联网从业者:有哪家公司不裁员吗?
    CCF A类会议 —— CVPR 2022 论文审稿模板
    《狙击手》影评
    长津湖之水门桥
    软件项目的开发的时间视乎永远都不够用
    由SQL Server的job出错调查引起的思考
    SQL Server 数据库表的统计信息的更新
    团队建设的小技巧
  • 原文地址:https://www.cnblogs.com/zhang19950924/p/13222614.html
Copyright © 2020-2023  润新知