美文网首页
MySQLi扩展面向对象的基本使用

MySQLi扩展面向对象的基本使用

作者: 似朝朝我心 | 来源:发表于2021-06-07 20:11 被阅读0次

通过MySQLi类库操作数据库的基本步骤:

  • 1.建立到MySQL数据库的连接。

如果我们以面向对象的形式来操纵MySQLi,我们其实可以将其封装为一个类进行使用,在这个类的构造函数中,就可以进行数据库的连接。

此外,也可以通过new关键字来new出一个实例的类,再通过里面的方法来进行连接,这2种形式都可以行得通,一般用new关键字生成类,这个法子用得最普遍。

  • 2.打开指定的数据库。

其实打开指定的数据库这个操作可以放在第一步:建立到MySQL数据库的连接中同步进行,一般我们也是这么做、这么实现的,也就是说,在我们连接数据库的过程中同时打开指定的数据库。

此外,也可以等第一步的连接成功后,再通过指定方法打开指定的数据库,这种操作也是允许的。

  • 3.设置客户端默认的字符集,一般统一的都是utf-8。

  • 4.执行SQL预处理查询操作。

将平时只能在MySQL cmd命令行窗口中才能执行的数据库增删改查(CURD)指令,放到我们的代码程序中照样能执行。

  • 5.释放结果集。

  • 6.关闭数据库连接。


demo演示:建立到MySQL数据库的连接对象和打开数据库的几种方式。

第一种是常见的优雅写法,推荐这种:

<?php 
    # 1.建立到MySQL数据库的连接对象实例的同时打开指定的数据库。
    $serverName = "localhost"; 
    $userName = "root";
    $password = "12345678"; 
    $database = "qinfb_school";
    $mysqli = @new mysqli($serverName,$userName,$password,$database);
    print_r($mysqli);
?>

第二种写法:

<?php 
    # 1.建立到MySQL数据库的连接对象实例.
    $serverName = "localhost"; 
    $userName = "root";
    $password = "12345678"; 
    $database = "qinfb_school";
    $mysqli = @new mysqli($serverName,$userName,$password);
    # 2.打开指定的数据库。
    $mysqli -> select_db($database);
    print_r($mysqli);
?>

第三种写法:

<?php 
    # 1.建立到MySQL数据库的连接对象实例.
    $serverName = "localhost"; 
    $userName = "root";
    $password = "12345678"; 
    $database = "qinfb_school";
    $mysqli = @new mysqli();
    # 2.调用mysqli实例下面的方法打开指定的数据库。
    $mysqli -> connect($serverName,$userName,$password,$database);
    print_r($mysqli);
?>

眼尖的你是否看到我们在new关键字前面有一个@小老鼠符号,这个@符号是干嘛用的呢?看到很多的都是说去掉默认的警告信息,其实不然,我是这样理解的。

@符的存在是让我们隐藏起代码报错时,显示出的详细文件路径,那为什么要隐藏起报错的文件路径呢?你想这是一台服务器,当然是为了防止居心叵测之徒对服务器进行的攻击。

没在new关键字前面加@符的后果:显示具体的资源路径


加了@符后:报错时,没有了文件资源的具体路径

调用mysqli实例下的connect_errno属性得到连接产生的错误编号;调用connect_error属性可以得到连接产生的错误细腻些;

<?php 
    # 1.建立到MySQL数据库的连接对象实例的同时打开指定的数据库。
    $serverName = "localhost"; 
    $userName = "root";
    $password = "12345678"; 
    $database = "qinfb_school";
    $mysqli = @new mysqli($serverName,$userName,$password,$database);
    if($mysqli -> connect_errno){
        die('Connect Error:'.$mysqli -> connect_error);
    }
?>

mysqli实例下具体有哪些属性呢?


获取客户端和服务器端的信息、版本:既可以调用属性去获取详情,也可以调用方法的形式去获取详情。
<?php 
    # 1.建立到MySQL数据库的连接对象实例的同时打开指定的数据库。
    $serverName = "localhost"; 
    $userName = "root";
    $password = "12345678"; 
    $database = "qinfb_school";
    $mysqli = @new mysqli($serverName,$userName,$password,$database);
    if($mysqli -> connect_errno){
        die('Connect Error:'.$mysqli -> connect_error);
    }
    echo '客户端信息:'.$mysqli -> client_info.'<br/>';
    echo '客户端信息:'.$mysqli -> get_client_info().'<br/>';//调用这个方法也可以获取客户端信息
    echo '客户端的版本:'.$mysqli -> client_version.'<br/>';
    
    echo '服务器端的信息:'.$mysqli -> server_info.'<br/>'; 
    echo '服务器端的信息:'.$mysqli -> get_server_info().'<br/>';//调用方法的形式也是可以获取到服务器的信息的
    echo '服务器端的版本:'.$mysqli -> server_version.'<br/>';
?>

MySQLi扩展面向对象的基本使用大体流程:

<?php 
    # 1.建立到MySQL数据库的连接对象实例的同时打开指定的数据库。
    $serverName = "localhost"; 
    $userName = "root";
    $password = "12345678"; 
    $database = "qinfb_school";
    $mysqli = @new mysqli($serverName,$userName,$password,$database);
    if($mysqli -> connect_errno){
        //如果有连接错误,得到错误信息
        die('Connect Error:'.$mysqli -> connect_error);
    }
    # 2.设置默认的客户端编码方式
    $mysqli -> set_charset('utf-8');
    
    # 3.执行SQL预处理查询。
      //生成一张表和一些字段。
      $sql = <<< EOF
      create table if not exists student(
            stu_id tinyint unsigned auto_increment key,
            stu_name varchar(20) not null
      )
EOF;
    
    # 4.只执行一条sql语句,调用query()方法即可
    $res = $mysqli -> query($sql);
    var_dump($res);
    
    # 5.关闭数据库连接
    $mysqli -> close();
?>
image.png
值得注意的是:当使用如下关键字:select/desc/describe/show/explain时,执行成功返回的是mysqli_result对象,倘若执行失败返回的是false。对于其他SQL语句的执行,执行成功返回的是true,否则返回false。

相关文章

  • MySQLi扩展面向对象的基本使用

    通过MySQLi类库操作数据库的基本步骤: 1.建立到MySQL数据库的连接。 如果我们以面向对象的形式来操纵My...

  • PHP7连接数据库的方法

    * 在PHP7中已经废除了mysql库了,则只能使用mysqli及PDO mysqli面向对象风格 mysqli面...

  • mysqli操作数据库

    mysqli 操作数据库 从PHP5.0开始可以使用MySQLi,是一种面向对象的技术(以后新加功能都会以对象形式...

  • MySQLi扩展了解

    什么是PHP的MySQLi扩展? PHP的MySQLi扩展又被称为MySQL增强扩展,mysqli扩展在PHP 5...

  • mysqli

    mysqli是php5.0之后出现对mysql进行的扩展. mysqli的基本操作 $con = new mysq...

  • 7.面向对象编程

    Swift 面向对象编程 面向对象的三大特性 继承封装多态 基本单元 枚举结构体类协议扩展 面向对象概述 从整体的...

  • 20170610基础知识-面向对象

    Object Oriented ProgrammingOOP:面向对象,使用对象、类、继承、封装、属性、方法、扩展...

  • 面向对象

    title:面向对象tags: 基础,Java 面向对象 面向对象程序设计简介 面向对象的基本思想是使用类、对象、...

  • 【Java】面向对象详解

    1、面向对象 面向对象(Object Oriented)的基本思想是使用对象、类、继承、封装、多态等基本概念来进行...

  • [JAVA]面向对象的三大特性

    学习Java的进阶过程,是理解面向对象的思想,掌握面向对象的基本原则以及Java面向对象基本实现原理,熟练使用封装...

网友评论

      本文标题:MySQLi扩展面向对象的基本使用

      本文链接:https://www.haomeiwen.com/subject/karleltx.html