微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php 操作mysql数据库的类入门实例

PHP操作MysqL数据库的类,感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:

/**
 * 操作MysqL数据库类
 *
 * @param 
 * @arrange (编程之家) jb51.cc
 **/
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,-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.,-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,-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,-1);
   $values = substr($values,-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,$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(',);
   }
   $fields = substr($fields,-2);
   $values = substr($values,-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,$onDuplicate[$key]).',);
    }
    $onDup = substr($onDup,-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);
 }
}

/***   代码来自编程之家 jb51.cc(jb51.cc)   ***/

原文地址:https://www.jb51.cc/php/528849.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐