程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 解析在PHP中使用mysqli擴展庫對mysql的操作

解析在PHP中使用mysqli擴展庫對mysql的操作

編輯:關於PHP編程
    本篇文章是對在PHP中使用mysqli擴展庫對mysql的操作進行了詳細的分析介紹,需要的朋友參考下  

    1、在PHP中 使用mysqli擴展庫對mysql 的dql操作

    復制代碼 代碼如下:
    <?php
        header("Content-type: text/html;charset=utf-8");
        //mysqli操作mysql數據庫(面向對象方式)
        //1、創建MySQLi對象
        $mysqli =new MySQLi("localhost","root","root","test");
        if($mysqli->connect_error){
            die("連接失敗".$mysqli->connect_error);
        }
        //2、操作數據庫(發送sql)
        $sql="select *from user1";
        //3、處理結果
        $res =$mysqli->query($sql);
        //var_dump($res);
        //fetch_assoc fetch_array fetch_object
        while($row=$res->fetch_row()){
            var_dump($row);
    /*        foreach($row as $val){
                echo '--'.$val;
            }
            echo '<br/>';*/
        }
        //4、關閉資源
        $res->free();
        $mysqli->close();
    ?>


    下面是面向過程的

    復制代碼 代碼如下:
    <?php
        header("Content-type: text/html;charset=utf-8");

        $mysqli=mysqli_connect("localhost","root","root","test");
        if(!$mysqli){
            die("連接失敗".mysqli_connect_error());
        }
        $sql="select *from user1";
        $res=mysqli_query($mysqli,$sql);
        //var_dump($res);
        while($row=mysqli_fetch_row($res)){

            foreach ($row as $val){

                echo '-'.$val;
            }
            echo '<br/>';
        }
        //釋放內存
        mysqli_free_result($res);
        mysqli_close($mysqli);
    ?>


    2、在PHP中 使用mysqli擴展庫對mysql 的dml操作

    復制代碼 代碼如下:
    <?php

        //使用mysqli 擴展庫對mysql的crud 操作
        header("Content-type: text/html;charset=utf-8");
        $mysqli = new MySQLi("localhost","root","root","test");
        if($mysqli->connect_error){
            die("連接失敗".$mysql->connect_error);
        }
        //增加一條記錄
        //$sql="insert into user1 (name,password,email,age) values ('lucy',md5('lucy'),'[email protected]',17)";
        //刪除一條記錄
        //$sql="delete from user1 where id =80";
        //更新一條記錄
        $sql="update user1 set age=20 where id=7";
        $res=$mysqli->query($sql);
        if(!$res){
            echo "操作失敗".$mysqli->error;
        }else{
            if($mysqli->affected_rows>0){
                echo "成功";
            }else{
                echo "沒有行受影響";   
            }
        }
        //關閉資源
        $mysqli->close();
    ?>


    3、進行封裝

    復制代碼 代碼如下:


    <?
        class SqlHelper{

            private $mysqli;
            //這裡先寫死,以後寫死的東西用一個文件來配置
            private static $host="localhost";
            private static $user="root";
            private static $pwd="root";
            private static $db="test";
            public function __construct(){

                $this->mysqli=new MySQLi(self::$host,self::$user,self::$pwd,self::$db);
                if($this->mysqli->connect_error){
                    die("連接失敗".$this->mysqli->connect_error);
                }
                //設置字符集
                $this->mysqli->query("set names utf8");
            }
            //dql operate
            function execute_dql($sql){
                $res =$this->mysqli->query($sql) or die($this->mysqli->error);
                return $res;       
            }
            //dml operate
            function execute_dml($sql){
                $res =$this->mysqli->query($sql) or die($this->mysqli->error);

                if(!$res){
                    return 0;//失敗
                }else{
                    if($this->mysqli->affected_rows>0){
                        return 1;//成功
                    }else{
                        return 2;//沒有行到影響
                    }
                }
            }
        }
    ?>

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved