MySQL数据库操作方法封装

<?php

	//封装链接
	function connect($host , $user , $pass , $charset , $name)
	{
		$link = mysqli_connect($host , $user , $pass);
		if (!$link) {
			exit('数据库链接失败');
		}
		mysqli_set_charset($link , $charset);
		mysqli_select_db($link , $name);
		return $link;
	}

	//封装插入方法
	function insert($link , $table , $data)
	{
		//获取所有的键名,将键名变成字段
		$keys = array_keys($data);
		$fields = join(',' , $keys);
		$value = array_values($data);
		
		//字符串加上引号
		$values = implode(',' , parseValues($value));
		$sql = "insert into $table($fields) values($values)";
		$result = mysqli_query($link , $sql);
		
		if ($result) {
			return mysqli_insert_id($link);
		} else {
			return false;
		}	
	}

	//解析value值
	function parseValues($data)
	{
		if (is_string($data)) {
			$data = '\''.$data.'\''; 
		} else if(is_array($data)) {
			$data = array_map('parseValues' , $data);
		} else if (is_null($data)) {
			$data = null;
		}
		return $data;	
	}


	//封装删除方法
	function del($link , $table , $where)
	{
		$sql = "delete from $table where $where";
		$result = mysqli_query($link , $sql);
		if ($result && mysqli_affected_rows($link)) {
			return mysqli_affected_rows($link);
		} else {
			return false;
		}
	}

	//封装修改方法
	function update($link , $table , $data , $where)
	{
		$set = join(',' , parseSet($data));
		$sql = "update $table set $set where $where";
		$result = mysqli_query($link , $sql);
		return $result;
	}

	//处理set条件
	function parseSet($data)
	{
		foreach ($data as $key => $value) {
			$value = parseValues($value); 
			if (is_scalar($value)) {
				$set[] = $key . '=' . $value;
			}	
		}
		return $set;
	}

	//封装查询
	function select($link , $table , $fields , $where = '')
	{
		if (empty($where)) {
		 	$where = '';
		} else {
			$where = "where $where";
		}
		$sql = "select $fields from $table $where";
		$result = mysqli_query($link , $sql);
		if ($result && mysqli_affected_rows($link)) {
			while ($rows = mysqli_fetch_assoc($result)) {
				$data[] = $rows;
			}
		} else {
			return false;
		}
		return $data;
	}

	//封装最大值
	function big($link , $table , $fields)
	{
		$sql = "select max($fields) as max  from $table ";
		$result = mysqli_query($link , $sql);
		if ($result && mysqli_affected_rows($link)) {
			return mysqli_fetch_assoc($result)['max'];
		} else {
			return false;
		}
	}

	//封装最小值
	function little($link , $table , $fields)
	{
		$sql = "select min($fields) as min  from $table ";
		$result = mysqli_query($link , $sql);
		if ($result && mysqli_affected_rows($link)) {
			return mysqli_fetch_assoc($result)['min'];
		} else {
			return false;
		}
	}
	
	//封装总数
	function total($link , $table , $fields)
	{
		$sql = "select count($fields) as count  from $table ";
		$result = mysqli_query($link , $sql);
		if ($result && mysqli_affected_rows($link)) {
			return mysqli_fetch_assoc($result)['count'];
		} else {
			return false;
		}
	}

	//封装求和
	function sum($link , $table , $fields)
	{
		$sql = "select sum($fields) as sum  from $table ";
		$result = mysqli_query($link , $sql);
		if ($result && mysqli_affected_rows($link)) {
			return mysqli_fetch_assoc($result)['sum'];
		} else {
			return false;
		}
	}

猜你喜欢

转载自blog.csdn.net/weixin_43206190/article/details/85289659