php数据库类

一 知识点:

  1、 php 链接mysql数据库的函数: mysqli_connect(数据库ip地址,数据库用户名,数据库密码,数据库名字);

        mysqli_connect函数返回的是数据库对象.

  2、 php 执行SQL语句的函数:query(SQL语句);

        query($sql)函数返回结果集;

  3、fetch_assoc():返回关联数据

  4、affected_rows:返回删除或者是更新,插入数据库的行数。

  5、explode():该函数函数可以把字符串转化成数组。如:explode(",",$param),把以逗号为分隔符的字符串转化成数组

  6、is_string():判断该变量是否是字符串

  7、is_array(): 判断该变量是否是数组

  8 、array_keys():把数组中的键转化成数组

  9、 array_values():把数组中的值转化成数组


二  代码

   1  SQL语句 表结构

   

CREATE TABLE `blog_user` (
  `uid` mediumint(6) NOT NULL AUTO_INCREMENT COMMENT '用户id',
  `uname` varchar(50) DEFAULT NULL,
  `pwd` varchar(32) DEFAULT NULL COMMENT 'md5加密后的字符串是32位',
  `type` tinyint(2) DEFAULT '0' COMMENT '是否为管理员:1为管理员,0位不同用户',
  `email` varchar(60) DEFAULT NULL,
  `loginip` varchar(15) DEFAULT NULL,
  `logintime` int(10) DEFAULT NULL,
  PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;

2 代码

  config.php

<?php
 define("DBUSERNAME","root");
 define("DBPASSWORD","123456");
 define("DBADRRESS","127.0.0.1");
 define("DBNAME","blog");
 define("DBPREFIX","blog_");
?>

index.php

<?php
include "config.php";
class db{
	public $TableName;
	public $Option = array();
	public $dbObject;
	//构造函数
	function __construct($TableName){
		//连接数据库,mysqli返回的是数据库对象
		 $this->dbObject = mysqli_connect(DBADRRESS,DBUSERNAME,DBPASSWORD,DBNAME);
		 if(!$this->dbObject)
		 {
			 die("connect database fail!");
		 }
		 //初始化表名
		 $this->TableName = DBPREFIX.$TableName;
		 $this->Option['filed'] ="*";
	}
	//查询表中的所有数据
	function Select(){
		$sql ="select {$this->Option['filed']} from {$this->TableName} {$this->Option['where']}";
		$ArrayData =array();
	    $ArrayData = $this->Sql($sql);
		return $ArrayData;		
	}
	//查询条件
	function Where($where){
		 
		$this->Option['where'] =  is_string($where) ? "where ".$where : "";
	
		return $this;
	}
	//查询表中所有字段
	function GetAllFileds($filed){
		//获取表中所有字段
		$sql = "DESC {$this->TableName}";
		$result =$this->dbObject->query($sql);
		$dataArray = array();
		while(($row =$result->fetch_assoc())!=false)
		{
			$dataArray =$row['Field'];
		}
		
		
	}

	
	//执行查询sql语句并返回结果集
	function Sql($sql){
		if(empty($sql)){
			die("查询语句不能为空");
		}
		$dataArray = array();
		$result = $this->dbObject->query($sql) or $this->dbObject->error;
		if(!empty($result)){
			while(($row = $result->fetch_assoc())!=false){
				$dataArray = $row;
			}
		}
		return $dataArray;
	}
	//执行删除,更新,插入的sql语句并返回删除的条数
	function Query($sql){
		$this->dbObject->query($sql) or $this->dbObject->error;
		return $this->dbObject->affected_rows;
	}
	
	//插入一条数据
	function Insert($paramArray){
		if(!is_array($paramArray)){
			die("不是数组");
		}
		//把数组中的键转化成数组
		$ArrayField = array_keys($paramArray);
		//把数组中的值转化成数组
		$ArrayValue = array_values($paramArray);
		
		$strField = $this->GetField($ArrayField);
		$strValue = $this->GetValue($ArrayValue);
	   $sql ="insert into {$this->TableName}({$strField}) VALUES({$strValue}) ";
	   return $this->query($sql);
	}
	
	//获取有效字段
	function GetField($paramString){
		$dataArray = is_string($paramString)? explode(",",$paramString):$paramString;
		if(!is_array($dataArray)){
			die("不是数组");
		}
		$str="";
		foreach($dataArray as $key=>$val){
			  $str=$str."`".$val."`".",";
		  }
		  $str = rtrim($str,",");
		  return $str;
	}
	
	//获取插入数据
	function GetValue($paramString){
		//如果是字符串就转换成数组
		$dataArray = is_string($paramString)? explode(",",$paramString):$paramString;
		if(!is_array($dataArray)){
			die("需要传入数组或者字符串");
		}
		$str="";
		foreach($dataArray as $key=>$val){
			$str =$str."'".$val."'".",";
		}
		//去除右边最后一个逗号
		$str =rtrim($str,",");
		return $str;
	}
}
$instanceDb = new db("user");
$insertValue = array("uname"=>"zz","pwd"=>"123");
var_dump($instanceDb->Insert($insertValue));
var_dump($instanceDb->Where("uid = 15")->Select());
var_dump($instanceDb->query("DELETE from blog_user"));
?>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值