溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么使用PHP連接MySql數(shù)據(jù)庫

發(fā)布時間:2022-07-26 09:54:30 來源:億速云 閱讀:135 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“怎么使用PHP連接MySql數(shù)據(jù)庫”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么使用PHP連接MySql數(shù)據(jù)庫”吧!

在使用此類之前,可以普及兩點(diǎn)知識:

PHP中使用靜態(tài)的調(diào)用,不同于其他編程語言,它的靜態(tài)調(diào)用為:

類名::$靜態(tài)屬性

類名::靜態(tài)方法()

而Java、C#等編程語言都是通過:

類名.靜態(tài)屬性

類名.靜態(tài)方法()

靜態(tài)方法的優(yōu)點(diǎn):

(1)在代碼的任何地方都可以用,不需要實(shí)例對象就能訪問靜態(tài)屬性或方法;

(2)類的每個實(shí)例都可以訪問類中定義的靜態(tài)屬性,可以利用靜態(tài)屬性來設(shè)置值,該值可以被類的所有對象使用,方便控制數(shù)據(jù)庫參數(shù),連接對象的創(chuàng)建與關(guān)閉;

DBHelper.php 靜態(tài)工具類

<?php
    /**該P(yáng)HP文件為了連接數(shù)據(jù)庫方便
     * 為連接數(shù)據(jù)庫提供靜態(tài)方法
     */
    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";
        //連接數(shù)據(jù)庫
        static function dbConn() {
            $conn = mysqli_connect(self::$sqlName, self::$userName,
                    self::$passWord, self::$dbName);
            if ($conn == false) {
                echo "<script>alert('數(shù)據(jù)庫連接失敗')</script>";
            }
            //設(shè)置連接對象編碼
            mysqli_query($conn, "set names utf8");
            return $conn;
        }
        //查詢數(shù)據(jù)
        //param1:查詢類型,param2:執(zhí)行語句
        //param1參數(shù)類型:  0單個數(shù)組,1多個數(shù)組。
        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);
            }
            // 釋放結(jié)果集
            mysqli_free_result($query);
            self::dbClose($conn); //釋放連接對象
            if ($result == null) { //如果結(jié)果為空,則返回空數(shù)據(jù)集
                return array();
            }
            return $result;
        }
        //增加、刪除、修改數(shù)據(jù)
        //param1:執(zhí)行類型;param2:執(zhí)行語句
        //param1參數(shù)類型:1增加,2修改,3刪除。
        static function sqlHelper($state, $mysql):int {
            $conn = self::dbConn(); //獲得連接對象
            $sql = $mysql;
            $query = mysqli_query($conn, $sql);
            //判斷狀態(tài),做出相應(yīng)提示。
            //$sts = $state==3?"刪除":($state==2?"修改":($state==1?"增加":$state));
            self::dbClose($conn); //釋放連接對象
            if ($query){
                return 1;  //有內(nèi)容變化
                //return $sts."成功";
            }
            else{
                return 0;  //無內(nèi)容變化
                //return $sts."失敗";
            }
        }
        //關(guān)閉連接
        static function dbClose($conn) {
            $conn ->Close();
        }
    }
?>

Test.php 用來測試數(shù)據(jù)

//查詢單個數(shù)據(jù)
$select = DBHelper ::select(0, "select * from XXX where xx = '$xx'");
//查詢多個數(shù)據(jù)
$selectAll = DBHelper ::select(1,"select * from XXX");
//添加數(shù)據(jù)
$insert = DBHelper ::sqlHelper(1, "insert into XXX (xx,xx,xx) values ('$xx','$xx','$xx')");
//修改數(shù)據(jù)
$update = DBHelper ::sqlHelper(2, "update XXX set xx = '$xx',xx = '$xx',xx = '$xx', where xx = '$xx'");
//刪除數(shù)據(jù)
$delete = DBHelper ::sqlHelper(3, "delete from XXX where xx = '$xx'");

前兩條測試數(shù)據(jù),都是查詢,設(shè)置的返回參數(shù)分別為mysqli_fetch_assoc、mysqli_fetch_all,這兩個參數(shù)返回的都是array,只不過里面有單個數(shù)據(jù)或多個數(shù)據(jù)。

mysqli_fetch_assoc:

怎么使用PHP連接MySql數(shù)據(jù)庫

mysqli_fetch_all:

怎么使用PHP連接MySql數(shù)據(jù)庫

后三條對應(yīng)的是增刪改,返回的int類型參數(shù),可以判斷執(zhí)行是否成功。

到此,相信大家對“怎么使用PHP連接MySql數(shù)據(jù)庫”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI