Welcome 微信登录

首页 / 网页编程 / PHP / 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+mysql数据库程序设计有所帮助。