日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

建立一个php 基础类

發布時間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 建立一个php 基础类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在些PHP文件的時候,一般首先都是要先寫一下基礎類:

主要包括以下幾個方面:

1.服務器的鏈接:包括主機,用戶名,密碼

2.數據庫的選擇:要操作哪個數據庫

3.字符集的設置:設置什么樣的編碼

4.查詢數據庫:4.1 包括查詢所有數據;4.2 查詢某一行數據 ;4.3 查詢某一列數據;

5.數據庫的添加:添加一行或多行數據

6.數據庫的更新:更新一行或多行數據

7.數據庫的刪除:刪除一行或多行數據

?

開始建立一個基礎類Mysql:命名為Mysql.class.php

  1 <?php 
  2     class Mysql{
  3         private $dbHost; //服務器
  4         private $dbUser; //用戶名
  5         private $dbPwd;// 密碼
  6         private $dbName; //數據庫名稱
  7         // __construct 函數是一個php魔術方法,在實例化的時候,會最先執行__construct()方法
  8         public function __construct($_dbHost,$_dbUser,$_dbPwd,$_dbName){
  9             $this->dbHost = $_dbHost;
 10             $this->dbUser = $_dbUser;
 11             $this->dbPwd = $_dbPwd;
 12             $this->dbName = $_dbName;
 13             $link = $this->connect(); // 服務器連接
 14             if($link){
 15                 $this->selectDb();     //連接成功,則選擇數據庫
 16                 $this->setCode();      //連接成功,則設置字符集編碼
 17             }else{
 18                 die(mysql_error());    // 連接失敗,則顯示數據庫連接失敗的信息
 19             };
 20         };
 21         // mysql 語句執行方法
 22         public function query($sql){
 23             return mysql_query($sql);
 24         };
 25         // 數據庫連接方法
 26         public function connect(){
 27             return mysql_connect($this->dbHost,$this->dbUser,$this->dbPwd);
 28         };
 29         // 數據庫選擇方法
 30         public function selectDb(){
 31             mysql_select_db($this->dbName);
 32         };
 33         // 字符集編碼設置方法
 34         public function setCode(){
 35             $this->query("set names utf8");
 36         };
 37         // 獲取所有數據方法
 38         public  function getAll($sql){
 39             $res = $this->query($sql); // 查詢數據庫出來的數據,是一個資源類型的,所以必須使用函數進行轉化,
 40             // 一般有三個函數進行mysql數據庫資源的數據轉化:一個是 mysql_fetch_row() ,返回的是一個數字索引的數組,可以使用數字索引進行調用;
 41             // 一個是mysql_fetch_assoc() ,返回的是關聯索引的數字,只能使用關聯索引進行調用,關聯索引就是字段的數據變字段的名稱
 42             // 還有一個是mysql_fetch_array(),返回的是數字索引和關聯索引組成的數組,所以可以使用數組索引進行調用,也可以使用關聯索引進行調用;相當于mysql_fetch_row()和mysql_fetch_assoc()的集合
 43             $list = array(); // 這里設定一個數組,用來接收從數據庫中返回的數據,
 44             // mysql_fetch_assoc()返回的是一個指針,每次只是返回一條數據,指針即指向返回的這條數據,當次條數據被返回以后,指針會指向下一條數據,當數據取完后,指針指向null
 45             // 所以此處使用while進行循環
 46             while($row = mysql_fetch_assoc($res)){
 47                 $list[] = $row ; // 當不對數組設置索引,就進行賦值的話,會自動將賦值的項添加到數組的最后面
 48                 // array_push($list,$row);  // array_push() 函數是對數組進行入棧處理,效果和 $list[] = $row 是一樣的
 49             };
 50             return $list;
 51         };
 52         //獲取一行數據
 53         public function getRow($sql){
 54             $res = $this->query($sql);
 55             //這里獲取一行數據,不需要對數據進行數組處理,因為只有一行數據,所以可以直接返回
 56             return mysql_fetch_assoc($res);
 57         };
 58         // 獲取某一列數據
 59         public function getCol($sql){
 60             $res = $this->query($sql);
 61             $row = mysql_fetch_assoc($res);
 62             return $row[0];
 63         };
 64         public function delete($sql){
 65             // 刪除數據,直接執行$sql 的刪除語句就行了
 66             $this->query($sql);
 67         };
 68 
 69         //插入
 70         // INSERT INTO message( title, content ) VALUES ( '星星', '小星星' );
 71         // 產品經理 ----> 痛點
 72         /*
 73             add( array(
 74                 'title' => '星星',
 75                 'content' => '小星星'
 76             ), 'message' );
 77         */
 78 
 79         // 添加(或者說插入)數據一條數據:有兩個參數,一個是需要插入的表,另一個是插入的數據,因為有可能是插入一個字段,也可能是插入兩個或者多個字段,
 80         // 所以使用數組來存檔要插入的數據,這樣,無論插入幾個字段,都使用同一個方法就可以了
 81         public function add($tbName,$data){
 82             $sql = "insert into {$tbName} (";
 83             // implode() 將數組鏈接成字符串,explode()
 84             $sql .= implode(",",array_keys($data))."values (";
 85             // 值要使用單引號括起來
 86             $sql .= implode(",'",array_values($data))."')";
 87             return $this->query($sql);
 88         };
 89         //數據一條數據:有三個參數,一個是需要更新的表,一個是更新的數據,另一個是更新條件
 90         public function update($tbName,$data,$condition){
 91             $sql = "update {$tbName} set";
 92             foreach($data as $key => $value){
 93                 // 值$value 要使用單引號括起來
 94                 $sql .= {$key}."='".{$value}."',";
 95             }
 96             // 但是這樣處理的結果:是在語句的最后面多了一個逗號,例如以下語句
 97             // UPDATE message SET title = 'hello', content = '你好',
 98             //  既然多了一個逗號,那在最后把逗號去掉就可以了,使用substr(string,start,end)函數:
 99             // 有三個參數,一個是要處理的字符串string,一個是起始位置start,一個是結束位置end   位置參數如果為負,則從右面開始算
100             $sql = substr($sql,0,-1);
101             $sql .= " ".$condition;
102             return  $this->query($sql);
103         };
104     }
105     $mysql = new Mysql("localhost","root","root","message");
106 ?>

?

寫好了基礎的類,就可以進行調用了

再寫一個Msgmodel?類:

 1 <?php
 2     class MsgModel{
 3         public $db;
 4         public $tbName = "message";
 5         public function __construct(&$dbObj){
 6             $this->db = $dbObj;
 7         }
 8         // 添加一條Msg數據
 9         public function msgAdd($data){
10             return $this->db->add($this->tbName,$data);
11         }
12         // 添加一條Msg 所有數據
13         public function getMsgAll(){
14             $sql = "SELECT * FROM {$this->tbName} ORDER BY time DESC";
15             return $this->db->getAll($sql);
16         }
17         
18         // 獲取Msg的所有條數
19         public function getMsgCol(){
20             $sql = "SELECT COUNT(*) FROM {$this->tbName}";
21             return $this->db->getCol($sql);
22         }
23         public function getMsgColBycatId($catId){
24             if($catId == 0){
25                 return $this->getMsgCol();
26             }else{
27                 $sql = "SELECT COUNT(*) FROM {$this->tbName} WHERE cat_id = {$catId}";
28                 return $this->db->getCol($sql);
29             }
30             
31         }
32         public function getMsgList($p,$pageSize){
33             $sql = "SELECT * FROM {$this->tbName} ORDER BY time DESC ";
34             $sql .= " LIMIT ".($p-1)*$pageSize.",".$pageSize;
35             
36             return $this->db->getAll($sql);
37         }
38         public function getMsgListByCatId($p,$pageSize,$catId){
39             if($catId==0){
40                 return $this->getMsgList($p,$pageSize);
41             }else{
42                 $sql = "SELECT * FROM {$this->tbName} ";
43                 $sql .="WHERE cat_id = {$catId} ORDER BY time DESC ";
44                 $sql .= " LIMIT ".($p-1)*$pageSize.",".$pageSize;
45                 return $this->db->getAll($sql);
46             }
47         }
48         public function getMsgById($msgId){
49             $sql = "SELECT * FROM {$this->tbName} WHERE message_id = $msgId";
50             return $this->db->getRow($sql);
51         }
52         public function getMsgRandId(){
53             $sql = "SELECT * FROM {$this->tbName} ORDER BY RAND() LIMIT 1";
54             $row = $this->db->getRow($sql);
55             return $row['message_id'];
56         }
57         public function getPrevMsgId($msgId){
58             $sql = "SELECT * FROM {$this->tbName} WHERE message_id < {$msgId}";
59             $sql .= " ORDER BY message_id DESC LIMIT 1";
60             $row = $this->db->getRow($sql);
61             return $row['message_id'];
62         }
63         public function getNextMsgId($msgId){
64             $sql = "SELECT * FROM {$this->tbName} WHERE message_id > {$msgId}";
65             $sql .= " ORDER BY message_id ASC LIMIT 1";
66             $row = $this->db->getRow($sql);
67             return $row['message_id'];
68         }
69         public function getMinMsgId(){
70             $sql = "SELECT * FROM {$this->tbName} ORDER BY message_id ASC LIMIT 1";
71             $row = $this->db->getRow($sql);
72             return $row['message_id'];
73         }
74         public function getMaxMsgId(){
75             $sql = "SELECT * FROM {$this->tbName} ORDER BY message_id DESC LIMIT 1";
76             $row = $this->db->getRow($sql);
77             return $row['message_id'];
78         }
79 
80     }
81 ?>

?

轉載于:https://www.cnblogs.com/huanying2015/p/8414094.html

總結

以上是生活随笔為你收集整理的建立一个php 基础类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。