zoukankan      html  css  js  c++  java
  • php连接数据库的两种方式- 面向过程 面向对象

    一、面向对象
    1. 链接数据库
    $conn = @new mysqli("127.0.0.1","root","","mydb");

    if($conn->connect_errno){ //返回链接错误号
    // 返回链接错误信息
    die("数据库链接失败:".$conn->connect_error);
    }

    2. 选择数据库
    $conn->select_db("mydb") or die("选择数据库失败:".$conn->error);

    3.设置字符集编码
    $conn->set_charset("utf8") or die("设置字符集失败:".$conn->error);

    4. 准备SQL语句
    $sql = <<<sql
    select * from tb1;
    sql;

    5. 执行SQL语句,返回结果集或者布尔类型true/false
    $res = $conn->query($sql);

    6. 返回结果集中的字段数
    var_dump($res->field_count);
        返回结果集中的总行数
    var_dump($res->num_rows);

    7. 返回关联数组和索引数组
    var_dump($res->fetch_array());
       返回索引数组
    var_dump($res->fetch_row());
       返回关联数组
    var_dump($res->fetch_assoc());
       返回一个对象
    var_dump($res->fetch_object());

    8. 将结果集指针移到指定位置
    $res->data_seek(0);


    9. 返回结果集中的一个字段,并将指针移到下一列
    var_dump($res->fetch_field());
       直接返回结果集中的所有字段
    var_dump($res->fetch_fields());


    10.释放结果集资源
    $res->close();// $res->free();
        关闭数据库连接
    $conn->close();


    二、面向过程

    1.连接数据库

    @ $conn = mysqli_connect("127.0.0.1", "root", "slk5550123", "mydb");

    if(mysqli_connect_error($conn)){ //返回错误信息
    exit("数据库连接失败,失败号".mysqli_connect_errno($conn)."失败信息:".mysqli_connect_error($conn));
    }
           

       连接数据库同时判断
     @ $conn = mysqli_connect("127.0.0.1","root","slk55501233","mydb") or die("数据库连接失败,失败信息:".mysqli_connect_error($conn));


    连接数据库: mysqli_connect
    参数: ① 主机地址 ②MySql用户名 ③MySql密码 ④选择链接的数据库 ⑤端口号
     返回: 如果链接成功,返回资源类型的标识符号
     如果连接失败,返回false

     如果有MySql建立的连接不止一条,那么以后操作数据库的各种函数,都必须传入返回的连接符号。
     如果与MySql建立的连接只有一条,那么以后操作数据库的各种函数就不必传入这个标识符号


    3. 选择数据库mysqli_select_db
     参数: ① 资源表示符 ②选择的数据库名称
     返回: 连接成功返回true,连接失败返回false

     如果修改数据库成功,则资源标识符中的数据库就会发生变更
     如果修改失败,而没有通过代码终止操作,则后续代码可以使用原数据库继续执行。

    //选择数据库同时判断
     mysqli_select_db($conn,"mydb") or die("数据库选择失败");

    4.设置字符集编码
    mysqli_set_charset($conn,"utf8");
    //只能是utf8,而不能使utf-

    5.编写sql语句
    $sql = "select * from tb1";

    6. 执行sql语句
     如果是增删改,将返回bool类型 表示是否成功 DML
     如果是查询,将返回资源结果集 DQL
     如果查询失败,返回false


    $res = mysqli_query($conn,$sql);$res = mysqli_query($conn,$sql);

    7.返回数据库中操作影响的行数及插入语句的ID

    DML时: 返回上一次操作时,受影响的行数
    var_dump(mysqli_affected_rows($conn));
     执行插入语句时,返回上次最新插入的主键id
     var_dump(musqli_insert_id($conn))

    DQL时,返回资源结果集中的行数
    mysqli_num_rows($res);
    DQL时,返回资源结果集中的字段数
    mysqli_num_fields($res);

    8. 处理结果集,返回关联数组和索引数组
     参数: ① 需要处理的结果集
         ② 返回那种数组格式,mysqli_assoc - 关联数组
     mysql_num 数字数组
     mysql_both 默认,同时产生关联和数字数组


    返回关联数组
    //mysqli_fetch_assoc($result)
    返回索引数组
    //mysqli_fetch_row($result)
    返回一个对象
    //mysqli_fetch_object($result)

    9.返回结果集中的一个字段,并将指针移到下一列
    mysqli_data_seek:设置结果集指针位置
    mysqli_data_seek($res, 0);

    返回结果集中每一列字段的信息(字段名、表名、数据库名、字段类型、长度等)*/
    mysqli_fetch_field($res);


    10.释放查询资源结果集并关闭数据库连接 
      mysql_free_result($res);
      关闭数据库连接
      mysql_close($conn);

  • 相关阅读:
    URLEncoder编码算法
    传输层TCP和UDP的区别分析与应用场景
    【Android】AndroidStudio打包apk出现的一些问题 `Error:Execution failed for task ':app:lintVitalRelease'.
    【Android】在开发项目的时候,利用AndroidStudio开发工具,突然一直报错。
    【Android】listview 嵌套gridview报错,代码:”during second layout pass: posting in next frame
    华为荣耀5X(畅玩版 全网通)USB调试模式如何开启教程(开发者模式 开发者选项打开)
    Android开发之制作圆形头像自定义View,直接引用工具类,加快开发速度。带有源代码学习
    AndroidStudio中利用git下载github或者git.oschina的代码时报错:repository test has failed解决方法
    java最简单的知识之创建一个简单的windows窗口,利用Frame类
    【Android】java生成炫酷验证码,不区分大小写。登陆,发送手机验证码,防止注册机,android开发
  • 原文地址:https://www.cnblogs.com/slk-fight/p/7078606.html
Copyright © 2011-2022 走看看