国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php mysql數據庫操作類(實例講解)

2024-05-04 23:59:13
字體:
來源:轉載
供稿:網友

接著稍微說說整體的思路。整個類的封裝,包含一個連接數據庫的私有屬性$conn和若干操作函數。$conn在對象實例化的時候,由構造函數處理傳入的參數后返回一個資源型的連接句柄。而后即可通過調用該實例化的對象的相應方法對數據庫進行增刪查改的操作。

talk less and show code:

<?php/** *以下代碼用于數據庫操作類的封裝* * @author rex<rex.sp.li@aliyun.com> * @version 1.0* @since 2015*/class Mysql{//數據庫連接返回值private $conn;/*** [構造函數,返回值給$conn]* @param [string] $hostname [主機名]* @param [string] $username[用戶名]* @param [string] $password[密碼]* @param [string] $dbname[數據庫名]* @param [string] $charset[字符集]* @return [null]*/function __construct($hostname,$username,$password,$dbname,$charset='utf8'){  $conn = @mysql_connect($hostname,$username,$password);  if(!$conn){    echo '連接失敗,請聯系管理員';    exit;  }  $this->conn = $conn;  $res = mysql_select_db($dbname);  if(!$res){  echo '連接失敗,請聯系管理員';  exit;  }  mysql_set_charset($charset);}function __destruct(){  mysql_close();}/*** [getAll 獲取所有信息]* @param [string] $sql [sql語句]* @return [array] [返回二維數組]*/function getAll($sql){  $result = mysql_query($sql,$this->conn);  $data = array();  if($result && mysql_num_rows($result)>0){    while($row = mysql_fetch_assoc($result)){    $data[] = $row;    }  }  return $data;}/*** [getOne 獲取單條數據]* @param [string] $sql [sql語句]* @return [array] [返回一維數組]*/function getOne($sql){  $result = mysql_query($sql,$this->conn);  $data = array();  if($result && mysql_num_rows($result)>0){    $data = mysql_fetch_assoc($result);  }  return $data;}/*** [getOne 獲取單條數據]* @param [string] $table [表名]* @param [string] $data [由字段名當鍵,屬性當鍵值的一維數組]* @return [type] [返回false或者插入數據的id]*/function insert($table,$data){  $str = '';  $str .="INSERT INTO `$table` ";  $str .="(`".implode("`,`",array_keys($data))."`) ";   $str .=" VALUES ";  $str .= "('".implode("','",$data)."')";  $res = mysql_query($str,$this->conn);  if($res && mysql_affected_rows()>0){      return mysql_insert_id();  }else{    return false;  }}/*** [update 更新數據庫]* @param [string] $table [表名]* @param [array] $data [更新的數據,由字段名當鍵,屬性當鍵值的一維數組]* @param [string] $where [條件,‘字段名'=‘字段屬性']* @return [type] [更新成功返回影響的行數,更新失敗返回false]*/function update($table,$data,$where){  $sql = 'UPDATE '.$table.' SET ';  foreach($data as $key => $value){  $sql .= "`{$key}`='{$value}',";  }  $sql = rtrim($sql,',');  $sql .= " WHERE $where";  $res = mysql_query($sql,$this->conn);  if($res && mysql_affected_rows()){    return mysql_affected_rows();  }else{  return false;  }}/*** [delete 刪除數據]* @param [string] $table [表名]* @param [string] $where [條件,‘字段名'=‘字段屬性']* @return [type] [成功返回影響的行數,失敗返回false]*/function del($table,$where){  $sql = "DELETE FROM `{$table}` WHERE {$where}";  $res = mysql_query($sql,$this->conn);  if($res && mysql_affected_rows()){    return mysql_affected_rows();  }else{  return false;  }}}

實例化類:

<?php//包含數據庫操作類文件include 'mysql.class.php';//設置傳入參數$hostname='localhost';$username='root';$password='123456';$dbname='aisi';$charset = 'utf8';//實例化對象$db = new Mysql($hostname,$username,$password,$dbname);//獲取一條數據$sql = "SELECT count(as_article_id) as count FROM as_article where as_article_type_id=1";$count = $db->getOne($sql);//獲取多條數據$sql = "SELECT * FROM as_article where as_article_type_id=1 order by as_article_addtime desc limit $start,$limit";$service = $db->getAll($sql);//插入數據$arr = array('as_article_title'=>'數據庫操作類','as_article_author'=>'rex',);$res = $db->insert('as_article',$arr);//更新數據$arr = array('as_article_title'=>'實例化對象','as_article_author'=>'Lee',);$where = "as_article_id=1";$res = $db->update('as_article',$arr,$where);//刪除數據$where = "as_article_id=1";$res = $db->del('as_article',$where);?>

演示完代碼,大概說幾句。

  getOne方法傳入$sql的sql語句用于查詢單條數據并返回一維數組;getAll方法同樣傳入sql語句,用于查詢多條數據,并返回二維數組;insert方法傳入表名和關聯數組,返回boolen型或者插入數據對應索引;update方法傳入表名、關聯數組和條件,返回boolen或者影響的行數;del方法傳入表名和條件,返回boolen型。

  that's all,but not the all.有興趣的朋友可以把getOne和getAll直接傳入sql語句作為參數的方式再優化一下。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 奈曼旗| 新密市| 新昌县| 滕州市| 和政县| 宽城| 漯河市| 将乐县| 正定县| 河池市| 石景山区| 红安县| 兰坪| 永丰县| 兴城市| 兴山县| 宁远县| 大英县| 兰州市| 武威市| 唐山市| 天水市| 长兴县| 锡林浩特市| 黑山县| 阳朔县| 珠海市| 出国| 外汇| 永兴县| 阿克陶县| 东兰县| 库尔勒市| 札达县| 若羌县| 家居| 洛浦县| 策勒县| 衡山县| 平顺县| 卓尼县|