簡述php操作mysql資料庫的類

來源:互聯網
上載者:User
這篇文章主要介紹了php操作mysql資料庫的類,涉及php操作mysql的串連、查詢、插入、刪除等基本操作方法,非常具有實用價值,需要的朋友可以參考下

本文執行個體講述了php操作mysql資料庫的類。分享給大家供大家參考。具體如下:

<?php/** * Database class * * @version: 2.2 * @revised: 27 may 2007 * **/class Database { var $host; var $name; var $user; var $pass; var $prefix; var $linkId; function Database($mysql) {  foreach($mysql as $k => $v){   $this->$k = $v;  }  if(strlen($this->prefix)>0 && substr($this->prefix, -1) !== "_")  $prefix .= "_";  $this->prefix = $prefix; } function getLastID() {  $id = mysql_fetch_row(mysql_query("SELECT LAST_INSERT_ID()", $this->linkId));  return $id[0]; } function getPossibleValues($tableA, $whereA) {  if(gettype($tableA) == "array") {   $table = "";   foreach($tableA as $t) {    $table .= $this->prefix.$t.", ";   }   $table = substr($table, 0, -2);  } else $table = $this->prefix.$tableA;  if(gettype($whereA) != "array") {   $whereA = array($whereA);  }  $return = array();  foreach($whereA as $where) {   $sql = mysql_query("SHOW COLUMNS FROM ".$table." LIKE '%".$where."%'");   while($arr = mysql_fetch_array($sql)) {    if(strpos($arr['Type'], 'enum')===0) {     $vals = substr($arr['Type'], 5, -1);    } else {     $vals = substr($arr['Type'], 4, -1);    }    $vals = str_replace("'","",$vals);    $vals = explode(",",$vals);    $i = 1;    foreach($vals as $val) {     $return[$arr['Field']][$i++] = $val;    }    $return[$arr['Field']]['default'] = $arr['Default'];    if($arr['Null'] != "NO") $return[$arr['Field']][0] = NULL;   }  }  return $return; } function connect() {  $this->linkId = mysql_connect($this->host, $this->user, $this->pass);  if(!$this->linkId) {   return false;  }  if(mysql_select_db($this->name, $this->linkId)) return true;  mysql_close($this->linkId);  return false; } function runSelect($tables, $where = "1", $fieldsA = "*", $order = false, $limit = false, $offset = false, $group = false) {  if(gettype($tables) == "array") {   $table = "";   foreach($tables as $t) {    $table .= $this->prefix.$t.", ";   }   $table = substr($table, 0, -2);  } else $table = $this->prefix.$tables;  if(gettype($fieldsA) == "array") {   $fields = "";   $keys = array_keys($fieldsA);   if($keys[0] != '0') {    foreach($keys as $key) {     $fields .= $key.' AS '.$fieldsA[$key].', ';    }   } else {    foreach($fieldsA as $field) {     $fields .= $field.', ';    }   }   $fields = substr($fields, 0, -2);  } else $fields = $fieldsA;  $query = "SELECT ".$fields." FROM ".$table." WHERE ".$where.   ($order!== false?" ORDER BY ".$order:($group!==false ? " GROUP BY ".$group : "")).   ($limit !== false?" LIMIT ".$limit:"").   ($offset !== false?" OFFSET ".$offset:"");  return mysql_query($query, $this->linkId); } function runUpdate($table, $valuesA, $where = "1") {  if(gettype($valuesA) == "array") {   $fields = "";   $values = "";   $keys = array_keys($valuesA);   foreach($keys as $key) {    if($valuesA[$key] !== NULL)     $values .= "`".$key."`='".str_replace("'",'\'', $valuesA[$key])."',";    else     $values .= $key."=NULL,";   }   $fields = substr($fields, 0, -1);   $values = substr($values, 0, -1);  } else $values = $valuesA;  $query = "UPDATE ".$this->prefix.$table." SET ".$values." WHERE ".$where;  if(mysql_query($query,    $this->linkId))   return mysql_affected_rows($this->linkId);  return false; } function runDelete($table, $where = "1") {  if(mysql_query("DELETE FROM ".$this->prefix.$table." WHERE ".$where, $this->linkId))   return mysql_affected_rows($this->linkId);  return false; } function runInsert($table, $valuesA, $onDuplicate = NULL) {  if(gettype($valuesA) == "array") {   $fields = "";   $values = "";   $keys = array_keys($valuesA);   foreach($keys as $key) {    $fields .= "`".$key."`, ";    $values .= ($valuesA[$key]===NULL?"NULL, ":"'".str_replace("'", '\'', $valuesA[$key])."', ");   }   $fields = substr($fields, 0, -2);   $values = substr($values, 0, -2);  }  $onDup = "";  if($onDuplicate != NULL) {   $onDup = " ON DUPLICATE KEY UPDATE ";   if(gettype($onDuplicate) == "array") {    $keys = array_keys($onDuplicate);    foreach($keys as $key) {     $onDup .= '`'.$key.'`='.($onDuplicate[$key]===NULL?"NULL,":"'".str_replace("'", '\'', $onDuplicate[$key])."', ");    }    $onDup = substr($onDup, 0, -2);   } else $onDup .= $onDuplicate;  }  $query = "INSERT INTO ".$this->prefix.$table.($fields!==NULL?"(".$fields.")":"").   " VALUES (".$values.")".$onDup;  if(mysql_query($query, $this->linkId))   return mysql_affected_rows($this->linkId);  return false; } function getCells($table){  $query = "SHOW COLUMNS FROM `".$table."`";  $fields = mysql_query($query, $this->linkId) or die('hej');  return $fields; } function translateCellName($cellName){  $sql = $this->runSelect("mysql_cell_translation","mysql_name = '".$cellName."'");  $row = mysql_fetch_assoc($sql);  return $row['human_name']?$row['human_name']:'<span class="faded">['.$cellName.']</span>'; } function getError() {  return mysql_error($this->linkId); } function close() {  mysql_close($this->linkId); }}?>

總結:以上就是本篇文的全部內容,希望能對大家的學習有所協助。

相關推薦:

php結合html5的websocket通訊的使用方法

php針對上傳圖片檔案的功能詳解

php結合html5的websocket通訊的使用方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.