<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            PHP封裝數據庫操作類

            時間:2025-04-29 11:42:19 php語言 我要投稿
            • 相關推薦

            PHP封裝數據庫操作類

              而PHP在訪問數據庫的時候又經常會出現各種問題,如字符編碼問題、SQL語法錯誤問題、PHP處理數據記錄對象和返回對象的問題等。下面內容由小編為大家介紹PHP封裝數據庫操作類方法,供大家參考!

              優點:

              方便快捷, 數據庫操作只需調用接口;

              統一編碼(utf8),不易導致亂碼

              結構清晰. 如處理前端請求的后臺程序(test.php) + 表封裝類(user.class.php) + 數據庫封裝類(db.class.php) + 配置信息(configuration.php)

              以下例子有四個文件: configuration.php + db.class.php + user.class.php + test.php,放在同一個目錄下。

              首先是一個數據庫配置的文件類configuration.php

              /**

              * 數據庫配置信息

              */

              define('DB_HOST','localhost'); //服務器

              define('DB_USER','root'); //數據庫用戶名

              define('DB_PASSWORD',''); //數據庫密碼

              define('DB_NAME','test0'); //默認數據庫

              define('DB_CHARSET','utf8'); //數據庫字符集

              define('TIMEZONE',"PRC"); //時區設置

              ?>

              接下來就是數據庫操作類db.class.php

              require_once("./configuration.php"); //引入配置常量文件

              date_default_timezone_set(TIMEZONE);

              /**

              * 類名:DB

              * 說明:數據庫操作類

              */

              class

              DB

              {

              public

              $host; //服務器

              public

              $username; //數據庫用戶名

              public

              $password; //數據密碼

              public

              $dbname; //數據庫名

              public

              $conn; //數據庫連接變量

              /**

              * DB類構造函數

              */

              public

              function DB($host=DB_HOST ,$username=DB_USER,$password=DB_PASSWORD,$dbname=DB_NAME)

              {

              $this->host = $host;

              $this->username = $username;

              $this->password = $password;

              $this->dbname = $dbname;

              }

              /**

              * 打開數據庫連接

              */

              public

              function open()

              {

              $this->conn = mysql_connect($this->host,$this->username,$this->password);

              mysql_select_db($this->dbname);

              mysql_query("SET CHARACTER SET utf8");

              }

              /**

              * 關閉數據連接

              */

              public

              function close()

              {

              mysql_close($this->conn);

              }

              /**

              * 通過sql語句獲取數據

              * @return: array()

              */

              public

              function getObjListBySql($sql)

              {

              $this->open();

              $rs

              = mysql_query($sql,$this->conn);

              $objList

              = array();

              while($obj

              = mysql_fetch_object($rs))

              {

              if($obj)

              {

              $objList[] = $obj;

              }

              }

              $this->close();

              return

              $objList;

              }

              /**

              * 向數據庫表中插入數據

              * @param:$table,表名

              * @param:$columns,包含表中所有字段名的數組。默認空數組,則是全部有序字段名

              * @param:$values,包含對應所有字段的屬性值的數組

              */

              public

              function Data($table,$columns=array(),$values=array())

              {

              $sql

              = ' into '.$table

              .'( ';

              for($i

              = 0; $i

              < sizeof($columns);$i

              ++)

              {

              $sql

              .= $columns[$i];

              if($i

              < sizeof($columns) - 1)

              {

              $sql

              .= ',';

              }

              }

              $sql

              .= ') values ( ';

              for($i

              = 0; $i

              < sizeof($values);$i

              ++)

              {

              $sql

              .= "'".$values[$i]."'";

              if($i

              < sizeof($values) - 1)

              {

              $sql

              .= ',';

              }

              }

              $sql

              .= ' )';

              $this->open();

              mysql_query($sql,$this->conn);

              $id

              = mysql__id($this->conn);

              $this->close();

              return

              $id;

              }

              /**

              * 通過表中的某一屬性獲取數據

              */

              public

              function getDataByAtr($tableName,$atrName,$atrValue){

              @$data

              = $this->getObjListBySql("SELECT * FROM ".$tableName." WHERE $atrName = '$atrValue'");

              if(count($data)!=0)return

              $data;

              return

              NULL;

              }

              /**

              * 通過表中的"id",刪除記錄

              */

              public

              function ($tableName,$atrName,$atrValue){

              $this->open();

              $Result

              = false;

              if(mysql_query("DELETE FROM ".$tableName." WHERE $atrName = '$atrValue'")) $Result

              = true;

              $this->close();

              if($Result) return

              true;

              else

              return false;

              }

              /**

              * 更新表中的屬性值

              */

              public

              function updateParamById($tableName,$atrName,$atrValue,$key,$value){

              $db

              = new

              DB();

              $db->open();

              if(mysql_query("UPDATE ".$tableName." SET $key = '$value' WHERE $atrName = '$atrValue' ")){ //$key不要單引號

              $db->close();

              return

              true;

              }

              else{

              $db->close();

              return

              false;

              }

              }

              /*

              * @description: 取得一個table的所有屬性名

              * @param: $tbName 表名

              * @return:字符串數組

              */

              public

              function fieldName($tbName){

              $resultName=array();

              $i=0;

              $this->open();

              $result

              = mysql_query("SELECT * FROM $tbName");

              while

              ($property

              = mysql_fetch_field($result)){

              $resultName[$i++]=$property->name;

              }

              $this->close();

              return

              $resultName;

              }

              }

              ?>

              接下來是測試了。我在phpmyadmin中建了一個test0數據庫,里面建一張表user。然后用php寫一個user類對應數據庫中的user表。

              user.class.php

              require_once("./db.class.php");

              class

              User{

              public

              $name = NULL;

              public

              $password = NULL;

              /**

              * 構造函數

              */

              public

              function __construct($name,$password){

              $this->name = $name;

              $this->password = $password;

              }

              public

              function (){

              $db

              = new

              DB();

              $resultid

              = $db->Data("user",array(),array('',$this->name,$this->password));

              return

              $resultid;

              }

              public

              static function getUserById($uid){

              $db

              = new

              DB();

              return

              $db->getDataByAtr("user",'uid',$uid);

              }

              public

              static function getUserByName($name){

              $db

              = new

              DB();

              @$data

              = $db->getObjListBySql("SELECT * FROM user WHERE name = '$name'");

              if(count($data)!=0)return

              $data;

              else

              return null;

              }

              public

              static function getAllUser(){

              $db

              = new

              DB();

              @$data

              = $db->getObjListBySql("SELECT * FROM user");

              if(count($data)!=0) return

              $data;

              else

              return null;

              }

              public

              static function ByUid($uid){

              $admin

              = Admin::getAdminById($uid);

              $db

              = new

              DB();

              if($db->("user","uid",$uid)) return

              true;

              else

              return false;

              }

              }

              ?>

              測試程序: test.php

              header("Content-Type:text/html; charset=utf8");

              require_once("./user.class.php");

              $user

              = new

              User("HelloWorld","123456");

              $user->();

              $users

              = User::getAllUser();

              foreach

              ($users

              as $u) {

              echo

              "

              ".$u->name."

              ".$u->password."

              ";

              }

              ?>

              運行結果:


            【PHP封裝數據庫操作類】相關文章:

            PHP數據庫操作類-ezSQL08-19

            PHP對數據庫MySQL的連接操作11-10

            PHP操作MySQL數據庫的基本類10-14

            PHP中FTP操作類代碼09-25

            php備份數據庫類的方法09-04

            關于php操作mysql執行數據庫查詢08-11

            PHP中如何定義類及其成員屬性與操作09-23

            PHP文件怎么操作09-03

            PHP中的Reload操作06-26

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看