PHP連接MySql數據庫方法簡化版
寫這個PHP連接數據庫靜態工具類之前,是由於當時學習C#的asp.net。老師編寫瞭一個連接數據庫的靜態工具類,發現使用此類,每次隻需要寫sql語句,而不再需要進行連接創建,關閉等等。方便其他操作,節約時間。
轉眼一年半,如今php課程需要寫一個小項目,於是第一件事就是編寫一個連接數據庫的靜態工具類,php和asp.net的語法極其的相似。
在使用此類之前,可以普及兩點知識:
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('數據庫連接失敗')</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 = '$xx'"); //查詢多個數據 $selectAll = DBHelper ::select(1,"select * from XXX"); //添加數據 $insert = DBHelper ::sqlHelper(1, "insert into XXX (xx,xx,xx) values ('$xx','$xx','$xx')"); //修改數據 $update = DBHelper ::sqlHelper(2, "update XXX set xx = '$xx',xx = '$xx',xx = '$xx', where xx = '$xx'"); //刪除數據 $delete = DBHelper ::sqlHelper(3, "delete from XXX where xx = '$xx'");
前兩條測試數據,都是查詢,設置的返回參數分別為mysqli_fetch_assoc、mysqli_fetch_all,這兩個參數返回的都是array,隻不過裡面有單個數據或多個數據。
mysqli_fetch_assoc:
mysqli_fetch_all:
後三條對應的是增刪改,返回的int類型參數,可以判斷執行是否成功。
到此這篇關於PHP連接MySql數據庫方法簡化版的文章就介紹到這瞭,更多相關PHP連接MySql內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- MySQL與PHP的基礎與應用專題之內置函數
- 一文詳解PHP連接MySQL數據庫的三種方式
- PHP實現獲取MySQL數據庫的記錄數據
- MySQL與PHP的基礎與應用專題之自連接
- MySQL與PHP的基礎與應用專題之數據查詢