`
kaozjlin
  • 浏览: 115343 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

php MySQL操作类

 
阅读更多

<?php

class mysql{
 
 private $db_host;
 private $db_user;
 private $db_pwd;
 private $db_database;
 private $conn;
 private $sql;
 private $result;
 private $coding;
 private $show_error = true;
 
 public function __construct($db_host, $db_user, $db_pwd, $db_database, $coding = 'utf8'){
  $this->db_host = $db_host;
  $this->db_user = $db_user;
  $this->db_pwd =  $db_pwd;
  $this->db_database = $db_database;
  $this->coding = $coding;
  $this->connect();
 }
 
 private function connect(){
  
  $this->conn = @mysql_connect($this->db_host,$this->db_user,$this->db_pwd);
  if(!$this->conn){
   if($this->show_error){
    $this->show_error('错误提示:链接数据库失败!');
   }
  }
  
  if(!@mysql_select_db($this->db_database, $this->conn)){
   if($this->show_error){
    $this->show_error('错误提示:打开数据库失败!');
   }
  }
  
  if(!@mysql_query("SET NAMES $this->coding")){
   if($this->show_error){
    $this->show_error('错误提示:设置编码失败!');
   }
  }
 }
 
 public function query($sql){
  $this->sql = $sql;
  $result = mysql_query($this->sql, $this->conn);
  if(!$result){
   $this->show_error('错误的SQL语句:', $this->sql);
  }else{
   return $this->result = $result;
  }
 }
 
 public function show_databases(){
  $this->query("show databases");
  echo '现有数据库:' . mysql_num_rows($this->result);
  echo "<br />";
  $i = 1;
  while($row=mysql_fetch_array($this->result)){
   echo "$i $row[Database]" . "<br />";
   $i++;
  }
 }
 
 public function show_tables(){
  $this->query("show tables");
  echo "数据库{$this->db_database}共有". mysql_num_rows($this->result) . "张表:";
  echo "<br />";
  $column_name = "Tables_in_" . $this->db_database;
  $i = 1;
  while($row=mysql_fetch_array($this->result)){
   echo "$i $row[$column_name]" . "<br />";
   $i++;
  }
 }
 
 public function fetch_array($result=''){
  if($this->result){
   return mysql_fetch_array($this->result);
  }else{
   return mysql_fetch_array($result);
  }
 }
 
 public function findall($table, $field = '*') {
  return $this->query("SELECT $field FROM $table");
 }
 
 public function delete($table, $condition) {
  return $this->query("DELETE FROM $table WHERE $condition");
 }
 
 public function insert($table, $field, $value) {
  return $this->query("INSERT INTO $table ($field) VALUES ('$value')");
 }
 
 public function update($table, $update_content, $condition) {
  return $this->query("UPDATE $table SET $update_content WHERE $condition");
 }
 
 public function insert_id() {
  return mysql_insert_id();
 }
 
 public function num_rows() {
  if ($this->result == null) {
   if ($this->show_error) {
    $this->show_error('SQL语句错误', '请检查是否已经使用了query()方法,并成功查询且返回了资源标识符?');
   }
  } else {
   return mysql_num_rows($this->result);
  }
 }
 
 public function num_fields($table) {
  $this->query("select * from $table");
  echo "<br />";
  echo '字段数:' . $total = mysql_num_fields($this->result);
  echo "<pre>";
  for ($i = 0; $i < $total; $i++) {
   print_r(mysql_fetch_field($this->result, $i));
  }
  echo "</pre>";
  echo "<br />";
 }
 
 public function show_error($message='',$sql=''){
  echo "<fieldset>";
  echo "<legend>错误信息提示:</legend><br />";
  echo "<div style='font-size:14px; clear:both; font-family:Verdana, Arial, Helvetica, sans-serif;'>";
  echo '错误原因:'. mysql_error() . "<br /><br />";
  echo "<div style='height:20px; background:#FF0000; border:1px #FF0000 solid'>";
  echo "<font color='white'>" . $message . "</font>";
  echo "</div>";
  echo "<font color='red'><pre>" . $sql . "</pre></font>";
  echo "</div>";
  echo "</fieldset>";
 }
}

?>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics