zoukankan      html  css  js  c++  java
  • 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有就行

  • 相关阅读:
    响应式布局,流式布局与固定布局
    垃圾回收机制
    形象讲解时间复杂度
    数据结构和算法简介
    数据结构之栈和队列
    十、str的索引、切片和str常用的操作方法(重点)
    九、基础数类型总览和str、int、bool之间的相互转化
    八、编码的初识和进阶
    七、格式化输出和运算符
    六、while循环
  • 原文地址:https://www.cnblogs.com/zhang19950924/p/13222614.html
Copyright © 2011-2022 走看看