Heim  >  Artikel  >  Datenbank  >  PHP kapselt eine DB-Datenbank-MySQL-Klasse

PHP kapselt eine DB-Datenbank-MySQL-Klasse

大家讲道理
大家讲道理Original
2016-11-10 11:14:22905Durchsuche

<?php

        // 配置数据库
 
 define(&#39;DB_HOST&#39;, &#39;127.0.0.1&#39;);   //服务器地址
 
 define(&#39;DB_USER&#39;, &#39;root&#39;);   //用户名
 
 define(&#39;DB_PASS&#39;, &#39;&#39;);  //密码
 
 define(&#39;DB_DATABASENAME&#39;, &#39;fenxiao&#39;); //数据库
 
 class Dbmysql
 
 { 
  
    /*
 
 *变量
 
 **/
 
 private $tablename=""; //表名
 
 private $fieldname="*";
 
 private $conn;
 
 private $where;
 
 private $sql;
 
 function __construct($tablename)
 
 {
 
 //生成一个连接
 
 $this->conn = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("connect failed" . mysql_error());  
 
 //选择数据库
 
 mysql_select_db(DB_DATABASENAME, $this->conn); 
 
 //设置编码格式
 
 mysql_query("SET NAMES utf8");
 
 //var_dump($conn);
 
 $this->tablename=$tablename;
 
 }
 
 //设置sql语句
 
 private function setsql($sql)
 
 {
 
 $this->sql=$sql;
 
 }
 
 
 
 //设置条件语句
 
 public function where($where)
 
 {
 
 $this->where=" where ".$where; 
 return $this;
 
 }
 //按指定字段
 
 public function field($keyword)
 
 {
 
 $this->fieldname=$keyword;
 
 return $this;
 
 }
 
 //设置连接查询表
 
 public function table($table1,$table2,$field,$bool)
 
 {
 
 $this->tablename="$table1 LEFT JOIN $table2 ON $table1.$field$bool$table2.$field";
 
 //print_r($this->tablename);
 
 return $this;
 
 }

 //设置多表查询
 
 public function addtable($table1,$table2,$field,$bool)
 
 {
 
 $this->tablename.=" LEFT JOIN $table2 ON $table1.$field$bool$table2.$field";
 
 //print_r($this->tablename);
 
 return $this;
 
 }
 //设置连接查询表
 
 ##SELECT * FROM 【wx_order LEFT JOIN wx_shopcar ON wx_shopcar.oid=wx_order.oid and wx_order.uid=wx_shopcar.uid LEFT JOIN wx_goods ON wx_shopcar.gid=wx_goods.gid】 WHERE wx_order.oid=1 and wx_order.uid=3
 
 public function settable($sql)
 
 {
 
 $this->tablename=$sql;
 
 //print_r($this->tablename);
 
 return $this;
 
 }
 
 
 
 //查询所有数据库 以数组形式输出
 
 public function select()
 
 {
 
    /**
 
 * 查询数据库中所有的数据
 
 **/
 
 $arr=array();
 
 //执行sql语句
 
 $result = mysql_query("select ".$this->fieldname." from ".$this->tablename.$this->where, $this->conn); 

 while ($row = mysql_fetch_assoc($result)) {
 array_push($arr, $row);
 
 }

 return $arr; 
 
 }

 //搜索指定字段数据
 
 public function find()
 
 {
 
 //执行sql语句
 
 $result = mysql_query("select ".$this->fieldname." from ".$this->tablename.$this->where, $this->conn); 
 
 $result = mysql_fetch_assoc($result);
 
 return $result;
 
 }
 //增加数据到数据库
 
 public function add($data)
 
 {
 
 $keysql=&#39;&#39;;
 
 $valuesql=&#39;&#39;;
 
 foreach ($data as $key => $value) {
 
 $keysql.=",`$key`";
 
 $valuesql.=",&#39;$value&#39;";
 
 }
 
 $keysql=substr($keysql, 1);
 
 $valuesql=substr($valuesql, 1);
 
 $result=mysql_query("insert into `".$this->tablename."` ($keysql) VALUES($valuesql)");
 
 $id=mysql_insert_id();
 
 //print_r("insert into `".$this->tablename."` ($keysql) VALUES($valuesql)");
 
 return $id;
 
 }
 
 
 
 //修改数据库的内容
 
 public function save($data)
 
 {
 
 $keysql=&#39;&#39;;
 
 $valuesql=&#39;&#39;;
 
 foreach ($data as $key => $value) {
 
 $keysql.=",`$key`=&#39;$value&#39;";
 
 }
 
 $keysql=substr($keysql, 1);
 
 //print_r($keysql);
 
 //echo "<br>";
 
 $result=mysql_query("UPDATE `".$this->tablename."` SET ".$keysql.$this->where);
 
 //print_r("UPDATE `".$this->tablename."` SET ".$keysql.$this->where);
 
 return $result; 
 }
 
 ##删除数据
 
 public function delete()
 
 {
 
 $result=mysql_query("DELETE FROM $this->tablename $this->where");
 
 //print_r("DELETE FROM $this->tablename $this->where");
 
 return $result;
 
 } 
 }

/**
 
* mysql_fetch_row: 返回单列的各字段 [0]=>"111"
 
* mysql_fetch_field: 取得字段信息。[0]=>   [&#39;name&#39;]=>   object
 
* mysql_fetch_array    返回数组资料。 [0]=>"asasds"   [&#39;name&#39;]=>
 
*/
 
?>

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn