>  기사  >  백엔드 개발  >  mysql 데이터베이스를 운영하기 위한 PHP용 클래스를 간략하게 설명합니다.

mysql 데이터베이스를 운영하기 위한 PHP용 클래스를 간략하게 설명합니다.

墨辰丷
墨辰丷원래의
2018-06-11 15:47:281675검색

이 글에서는 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 &#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);
 }
}
?>

요약: 위 내용은 이 글의 전체 내용이므로, 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

관련 권장사항:

php와 html5가 결합된 웹소켓 통신 사용 방법

이미지 파일 업로드를 위한 php의 기능에 대한 자세한 설명

html5와 결합된 PHP와 웹소켓 통신 사용 방법

위 내용은 mysql 데이터베이스를 운영하기 위한 PHP용 클래스를 간략하게 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.