DBDA

<?php
class DBDA
{
	public $host="localhost";//服务器地址
	public $uid="root";//用户名
	public $pwd="";//密码
	
	public $conn;//连接对象
	//操作数据库的方法
	//$sql代表需要执行的SQL语句
	//$type代表SQL语句的类型,1代表查询,0代表增删改
	//$db代表要操作的数据库名称
	//如果是查询,返回二维数组
	//如果是其他语句,返回true或false
	function __construct($db="db_mail"){
		//造连接对象
		$this->conn = new MySQLi($this->host,$this->uid,$this->pwd,$db);
	}
	public function Query($sql,$type=1){
		//判断是否出错
		!mysqli_connect_error() or die("连接失败!");
		//执行SQL语句
		$result = $this->conn->Query($sql);
		//判断SQL语句类型
		if($type==1)		{
			//如果是查询语句,返回结果集的二维数组
			return $result->fetch_all();
		}else{
			//如果是其他语句,返回true或false
			return $result;
		}
	}
	
	//Ajax调用返回JSON
	public function JsonQuery($sql,$type=1,$db="db_mail"){
		//定义数据源
		$dsn = "mysql:dbname={$db};host={$this->host}";
		//造pdo对象
		$pdo = new PDO($dsn,"{$this->uid}","{$this->pwd}");
		//准备执行SQL语句
		$st = $pdo->prepare($sql);
		//执行预处理SQL语句
		if($st->execute()){
			if($type==1){
				$attr = $st->fetchAll(PDO::FETCH_ASSOC);
				return json_encode($attr);
			}else{
				if($st){
					return "OK";
				}else{
					return "NO";
				}
			}
		}else{
			echo "执行失败!";
		}
	}
	
	//Ajax调用返回字符串
	public function StrQuery($sql,$type=1){
		//判断连接是否成功
		!mysqli_connect_error() or die("连接失败!");
		//执行SQL语句
		$result = $this->conn->query($sql);
		//判断SQL语句类型
		if($type==1){
			$attr = $result->fetch_all();
			$str = "";
			//如果是查询语句返回字符串
			for($i=0;$i<count($attr);$i++){
				for($j=0;$j<count($attr[$i]);$j++){
					$str = $str.$attr[$i][$j];
					$str = $str."^";
				}
				$str = substr($str,0,strlen($str)-1);
				$str = $str."|";
			}
			$str = substr($str,0,strlen($str)-1);
			return $str;
		}else{
			//如果是其他语句,返回true或false
			if($result){
				return "OK";
			}else{
				return "NO";
			}
		}
	}
	
	function PdoQuery($sql,$type=1,$db="db_mail"){
		//造数据源
		$dns = "mysql:host={$this->host};dbname={$db}";
		//造pdo对象
		$pdo = new PDO($dns,$this->uid,$this->pwd);
		//准备一条SQL语句
		$stm = $pdo->prepare($sql);
		//执行预处理语句
		$r = $stm->execute();
		if($r){
			if($type==1){
				return $stm->fetchAll();
			}else{
				return "OK"; 
			}
		}else{
			return "NO";
		}
	}
}

  

原文地址:https://www.cnblogs.com/hamilton/p/5835670.html