>  기사  >  데이터 베이스  >  PHP는 DB 데이터베이스 mysql 클래스를 캡슐화합니다.

PHP는 DB 데이터베이스 mysql 클래스를 캡슐화합니다.

大家讲道理
大家讲道理원래의
2016-11-10 11:14:22932검색

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

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