Home >Backend Development >PHP Tutorial >Briefly describe the classes for php to operate mysql database

Briefly describe the classes for php to operate mysql database

墨辰丷
墨辰丷Original
2018-06-11 15:47:281695browse

This article mainly introduces the classes for PHP to operate mysql database, involving basic operation methods such as connection, query, insertion, and deletion of PHP to operate mysql. It is of great practical value. Friends who need it can refer to it

The example in this article describes the class of PHP operating mysql database. Share it with everyone for your reference. The details are as follows:

<?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 &#39;%".$where."%&#39;");
   while($arr = mysql_fetch_array($sql)) {
    if(strpos($arr[&#39;Type&#39;], &#39;enum&#39;)===0) {
     $vals = substr($arr[&#39;Type&#39;], 5, -1);
    } else {
     $vals = substr($arr[&#39;Type&#39;], 4, -1);
    }
    $vals = str_replace("&#39;","",$vals);
    $vals = explode(",",$vals);
    $i = 1;
    foreach($vals as $val) {
     $return[$arr[&#39;Field&#39;]][$i++] = $val;
    }
    $return[$arr[&#39;Field&#39;]][&#39;default&#39;] = $arr[&#39;Default&#39;];
    if($arr[&#39;Null&#39;] != "NO") $return[$arr[&#39;Field&#39;]][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] != &#39;0&#39;) {
    foreach($keys as $key) {
     $fields .= $key.&#39; AS &#39;.$fieldsA[$key].&#39;, &#39;;
    }
   } else {
    foreach($fieldsA as $field) {
     $fields .= $field.&#39;, &#39;;
    }
   }
   $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."`=&#39;".str_replace("&#39;",&#39;\&#39;&#39;, $valuesA[$key])."&#39;,";
    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, ":"&#39;".str_replace("&#39;", &#39;\&#39;&#39;, $valuesA[$key])."&#39;, ");
   }
   $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 .= &#39;`&#39;.$key.&#39;`=&#39;.($onDuplicate[$key]===NULL?"NULL,":"&#39;".str_replace("&#39;", &#39;\&#39;&#39;, $onDuplicate[$key])."&#39;, ");
    }
    $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(&#39;hej&#39;);
  return $fields;
 }
 function translateCellName($cellName){
  $sql = $this->runSelect("mysql_cell_translation","mysql_name = &#39;".$cellName."&#39;");
  $row = mysql_fetch_assoc($sql);
  return $row[&#39;human_name&#39;]?$row[&#39;human_name&#39;]:&#39;<span class="faded">[&#39;.$cellName.&#39;]</span>&#39;;
 }
 function getError() {
  return mysql_error($this->linkId);
 }
 function close()
 {
  mysql_close($this->linkId);
 }
}
?>

Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.

Related recommendations:

How to use php combined with html5 websocket communication

php is for uploading image files Detailed explanation of the function

How to use php combined with html5 websocket communication

The above is the detailed content of Briefly describe the classes for php to operate mysql database. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn