PHP對Mysql操作的自定義函數

 <?php

/**
*@name db_connect 連接數據庫服務器
*
*@param string $host 		主機地址
*@param string $user 		用戶名
*@param string $pwd 		用戶密碼
*@param string $name 		數據庫名
*@param string $charset 	字符集
*
*@return mixed 數據庫連接
*/

function db_connect($host,$user,$pwd,$name,$charset)
{
	$link = mysqli_connect($host,$user,$pwd);
	if (!$link) {
		return false;
	}
 
	if (!mysqli_select_db($link,$name)) {
		return false;
	}
	mysqli_set_charset($link,$charset);
	

	return $link;
}

 
/**
*@name db_insert 向數據庫插入數據
*
*@param string $link 		連接地址
*@param string $table 	表
*@param string $data	 	插入的數據
*
*@return mixed true或者false
*/

 
function db_insert($link,$table,$data)
{
	$keys = join(',', array_keys($data));
	$values = implode(',', parse_value(array_values($data)));
	
	$sql = "insert into $table($keys) values($values)";
//echo $sql;die;
	$result = mysqli_query($link, $sql);
	if ($result && mysqli_affected_rows($link)) {
		//返回本次插入的id(該表有自增的id字段)
		return mysqli_insert_id($link);
	}  
	return false;
}


/**
*@name db_delete 刪除數據庫的數據
*
*@param string $link 		連接地址
*@param string $table 	表
*@param string $where	 條件
*
*@return mixed      true或者false
*/
function db_delete($link,$table,$where)
{
	$sql = "delete from $table where $where";
	
	$result = mysqli_query($link,$sql);
	if ($result && mysqli_affected_rows($link)) {
		return true;
	}
	return false;
}

/**
*@name db_delete 更新數據庫的數據
*
*@param string $link 		連接地址
*@param string $table 	表
*@param string $set	 		設置信息
*@param string $where	 條件
*
*@return mixed      true或者false
*/
function db_update($link,$table,$set,$where)
{
	if (is_array($set)) {
		$set = join(',', parse_set($set));
	}
	$sql = "update $table set $set where $where";
	
	$result = mysqli_query($link, $sql);
	if ($result && mysqli_affected_rows($link)) {
		return true;
	}
	return false;
}

/**
*@name db_delete 			刪除數據庫的數據
*
*@param string $link 		連接地址
*@param string $table 	表
*@param string $where	 條件
*@param string $fields	 	查詢字段
*@param string $where	 條件
*@param string $orderby	 排序
*
*@return mixed      返回數據
*/

function db_select($link,$table,$fields, $where=null, $orderby=null)
{
	if (is_array($fields)) {
		$fields = implode(',',$fields);
	}
	$sql = "select $fields from $table";
	
	if ($where) {
		$sql .= " where $where";
	}
	
	if ($orderby) {
		$sql .= " order by $orderby";
	}
	
	$result = mysqli_query($link,$sql);
	
	if ($result && mysqli_affected_rows($link)) {
		while ($row = mysqli_fetch_assoc($result)) {
			$data[] = $row;
		}
		return $data;
	} 
	return false;
}



//輔助函數1:對字符類型進行處理



function parse_value($data)
{
	if (is_string($data)) {
		$data = '\'' . $data . '\'';
	} else if (is_array($data)) {
		$data = array_map('parse_value', $data);
	} else if (is_null($data)) {
		$data = 'null';
	}
	return $data;
}


//輔助函數2:對數組進行遍歷

function parse_set($set)
{
	foreach ($set as $key => $value) {
		$data[] = $key . '=' . parse_value($value);
	}
	
	return $data;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章