Home > Database > Mysql Tutorial > PHP encapsulates a DB database mysql class

PHP encapsulates a DB database mysql class

大家讲道理
Release: 2016-11-10 11:14:22
Original
966 people have browsed it

<?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;]=>
 
*/
 
?>
Copy after login

source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template