PHP連接MySql數(shù)據(jù)庫方法簡化版
寫這個PHP連接數(shù)據(jù)庫靜態(tài)工具類之前,是由于當(dāng)時學(xué)習(xí)C#的asp.net。老師編寫了一個連接數(shù)據(jù)庫的靜態(tài)工具類,發(fā)現(xiàn)使用此類,每次只需要寫sql語句,而不再需要進(jìn)行連接創(chuàng)建,關(guān)閉等等。方便其他操作,節(jié)約時間。
轉(zhuǎn)眼一年半,如今php課程需要寫一個小項目,于是第一件事就是編寫一個連接數(shù)據(jù)庫的靜態(tài)工具類,php和asp.net的語法極其的相似。
在使用此類之前,可以普及兩點(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)在代碼的任何地方都可以用,不需要實例對象就能訪問靜態(tài)屬性或方法;
(2)類的每個實例都可以訪問類中定義的靜態(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:

mysqli_fetch_all:

后三條對應(yīng)的是增刪改,返回的int類型參數(shù),可以判斷執(zhí)行是否成功。
到此這篇關(guān)于PHP連接MySql數(shù)據(jù)庫方法簡化版的文章就介紹到這了,更多相關(guān)PHP連接MySql內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP中構(gòu)造函數(shù)和析構(gòu)函數(shù)解析
這篇文章主要介紹了PHP中構(gòu)造函數(shù)和析構(gòu)函數(shù)解析,本文用代碼實例講解了PHP中構(gòu)造函數(shù)和析構(gòu)函數(shù),需要的朋友可以參考下2014-10-10
PHP常見數(shù)學(xué)函數(shù)及BC高精度數(shù)學(xué)函數(shù)用法示例
這篇文章主要介紹了PHP常見數(shù)學(xué)函數(shù)及BC高精度數(shù)學(xué)函數(shù)用法,簡單列舉了php常見數(shù)學(xué)運(yùn)算函數(shù)并結(jié)合實例形式給出了bc高精度函數(shù)的功能與使用技巧,需要的朋友可以參考下2017-11-11

