首頁  >  文章  >  資料庫  >  怎麼使用PHP連接MySql資料庫

怎麼使用PHP連接MySql資料庫

PHPz
PHPz轉載
2023-05-26 13:23:46951瀏覽

在使用此類之前,可以普及兩點知識:

PHP中使用靜態的調用,不同於其他程式語言,它的靜態調用為:

類名::$靜態屬性

類別名稱::靜態方法()

而Java、C#等程式語言都是透過:

##類名.靜態屬性

類別名稱.靜態方法()

靜態方法的優點:

(1)在程式碼的任何地方都可以用,不需要實例物件就能存取靜態屬性或方法;

(2)類別的每個實例都可以存取類別中定義的靜態屬性,可以利用靜態屬性來設定值,該值可以被類別的所有實例都可以存取類別中定義的靜態屬性,可以利用靜態屬性來設定值,該值可以被類別的所有物件使用,方便控制資料庫參數,連接物件的建立與關閉;

DBHelper.php 靜態工具類別

<?php
    /**该PHP文件为了连接数据库方便
     * 为连接数据库提供静态方法
     */
    header("Content-type: text/html;charset=utf-8");
    class DBHelper {
        static $sqlName = "127.0.0.1";
        static $userName = "root";
        static $passWord = "123456";
        static $dbName = "test";
        //连接数据库
        static function dbConn() {
            $conn = mysqli_connect(self::$sqlName, self::$userName,
                    self::$passWord, self::$dbName);
            if ($conn == false) {
                echo "<script>alert(&#39;数据库连接失败&#39;)</script>";
            }
            //设置连接对象编码
            mysqli_query($conn, "set names utf8");
            return $conn;
        }
        //查询数据
        //param1:查询类型,param2:执行语句
        //param1参数类型:  0单个数组,1多个数组。
        static function select($state, $mysql):array {
            $conn = self::dbConn(); //获得连接对象
            $sql = $mysql;
            $query = mysqli_query($conn, $sql);
            if ($state == 1) {
                $result = mysqli_fetch_all($query,MYSQLI_ASSOC);
            } else {
                $result = mysqli_fetch_assoc($query);
            }
            // 释放结果集
            mysqli_free_result($query);
            self::dbClose($conn); //释放连接对象
            if ($result == null) { //如果结果为空,则返回空数据集
                return array();
            }
            return $result;
        }
        //增加、删除、修改数据
        //param1:执行类型;param2:执行语句
        //param1参数类型:1增加,2修改,3删除。
        static function sqlHelper($state, $mysql):int {
            $conn = self::dbConn(); //获得连接对象
            $sql = $mysql;
            $query = mysqli_query($conn, $sql);
            //判断状态,做出相应提示。
            //$sts = $state==3?"删除":($state==2?"修改":($state==1?"增加":$state));
            self::dbClose($conn); //释放连接对象
            if ($query){
                return 1;  //有内容变化
                //return $sts."成功";
            }
            else{
                return 0;  //无内容变化
                //return $sts."失败";
            }
        }
        //关闭连接
        static function dbClose($conn) {
            $conn ->Close();
        }
    }
?>

Test.php 用來測試資料

//查询单个数据
$select = DBHelper ::select(0, "select * from XXX where xx = &#39;$xx&#39;");
//查询多个数据
$selectAll = DBHelper ::select(1,"select * from XXX");
//添加数据
$insert = DBHelper ::sqlHelper(1, "insert into XXX (xx,xx,xx) values (&#39;$xx&#39;,&#39;$xx&#39;,&#39;$xx&#39;)");
//修改数据
$update = DBHelper ::sqlHelper(2, "update XXX set xx = &#39;$xx&#39;,xx = &#39;$xx&#39;,xx = &#39;$xx&#39;, where xx = &#39;$xx&#39;");
//删除数据
$delete = DBHelper ::sqlHelper(3, "delete from XXX where xx = &#39;$xx&#39;");

前兩條測試數據,都是查詢,設定的回傳參數分別為mysqli_fetch_assoc、mysqli_fetch_all,這兩個參數回傳的都是array,只不過裡面有單一資料或多個資料。

mysqli_fetch_assoc:

怎麼使用PHP連接MySql資料庫

mysqli_fetch_all:

怎麼使用PHP連接MySql資料庫

後三條對應的是增刪改,傳回的int型別參數,可以判斷執行是否成功。

以上是怎麼使用PHP連接MySql資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除