第095讲 php数据库编程⑦-使用mysqli扩展库

结果集对应关系可以有以下几种,都是查询出来之后取数据的
image

如上图 前两种效率较高。

095_mysqli.php

<?php
    //include 'mysqliHelper.php';//可以选用include  或者 require_once 或者 直接用自动加载类执行
    function __autoload($class_name){
        require_once $class_name.'.php';//这种自动加载类的方式 需要保持 文件名 和类名保持一致 目前是这样
    }
    header("content-type:text/html;charset=utf-8");

    //纯面向对象风格
    /**
    //1、不封装
    $mysqli = new MySQLi("localhost","root","tmdqobn","db100");
    if($mysqli->connect_errno){
        die("连接数据库出错:= ".$mysqli->connect_error);
    }
    $sql = "INSERT INTO WORDS (enword,chword) VALUES ('card','卡片')";
    $res = $mysqli->query($sql);
    if(!$res){
        die("添加出错出错");
    }else{
        echo "添加成功";
    }
    */

    //2、封装
    $mysqlself = new Mysqlii('localhost','root','tmdqobn','db100');

    $sql = "select * from words";
    $res = $mysqlself->selDB($sql);
    if($res){
        echo "ok";
        echo "<br/>";
    }else{
        //echo "false";
        die("查询失败");
    }
    //echo "打印查询结果0000 ".$res->num_rows;
    //var_dump($res->fetch_row());
    echo "<br/>";
    while($row = $res->fetch_row()){
        $count = count($row);
        //echo "每条记录数组长度 ".$count;
        for($i = 0;$i<$count;$i++){
            echo "--".$row[$i];
        }
        echo "<br/>";
    }
?>

Mysqlii.php 自己封装类 还可以直接封装一个工具类内部实例化mysqli如代码下边的图

<?php
    class Mysqlii extends MySQLi{
        public $localhost;
        public $rootname;
        public $rootpwd;
        public $dbname;
        public function __construct($localhost,$rootname,$rootpwd,$dbname){
            parent::__construct($localhost,$rootname,$rootpwd,$dbname);
            $this->localhost=$localhost;
            $this->rootname=$rootname;
            $this->rootpwd=$rootpwd;
            $this->dbname=$dbname;
        }
        /**
        public function Mysqlii($localhost,$rootname,$rootpwd,$dbname){
            $this->localhost=$localhost;
            $this->rootname=$rootname;
            $this->rootpwd=$rootpwd;
            $this->dbname=$dbname;
        }
        */
        public function InDeDB($sql){//插入 删除 更新 数据 结果返回boolean
            $res = parent::query($sql);
            if($res){
                "添加或删除更新数据成功";
            }else{
                die("添加或删除更新数据失败".Mysqlii::error);
            }
        }

        public function selDB($sql){
            $res = parent::query($sql);
            //echo "查询结果".$res;
            return $res;
        }
    }
?>

image

猜你喜欢

转载自blog.csdn.net/u014449096/article/details/81215874