php增删改查封装方法
2021-03-10 03:29
标签:code nec lse ble col 类构造 _id 数据连接 有序 php增删改查封装方法 标签:code nec lse ble col 类构造 _id 数据连接 有序 原文地址:https://www.cnblogs.com/mo3408/p/12859858.htmlphp
/**
* 数据库配置信息
*/
define(‘DB_HOST‘,‘127.0.0.1‘); //服务器
define(‘DB_USER‘,‘root‘); //数据库用户名
define(‘DB_PASSWORD‘,‘123456‘); //数据库密码
define(‘DB_NAME‘,‘TEST‘); //默认数据库
define(‘DB_CHARSET‘,‘utf8‘); //数据库字符集
define(‘TIMEZONE‘,"PRC"); //时区设置
date_default_timezone_set(TIMEZONE);
/**
* 类名:DB
* 说明:数据库操作类
*/
class DB
{
public $host; //服务器
public $conn; //数据库连接变量
/**
* DB类构造函数
*/
public function DB($host=DB_HOST ,$username=DB_USER,$password=DB_PASSWORD,$db_name=DB_NAME)
{
$this->host = $host;
$this->username = $username;
$this->password = $password;
$this->db_name = $db_name;
$this->conn = mysql_connect($host,$username,$password) or die (‘数据库连接失败!错误原因:‘.mysql_error());
mysql_select_db($db_name)or die(‘数据库选定失败!错误原因:‘.mysql_error());
mysql_query("SET CHARACTER SET utf8");
}
/**
* 关闭数据连接
*/
public function close()
{
mysql_close($this->conn);
}
/**
* @description调用方法用
* @param $sql
* @return array
*/
public function QueryAll($sql)
{
$this->open();
$rs = mysql_query($sql,$this->conn);
$objList = array();
while($obj = mysql_fetch_object($rs))
{
if($obj)
{
$objList[] = $obj;
}
}
$this->close();
return $objList;
}
/**
* description查询全部返回Json格式,通讯用
* @param $sql
* @return string
*/
public function QueryAllJson($sql)
{
echo $sql;
$this->open();
$rs = mysql_query($sql,$this->conn);
$objList = array();
$i=0;
while($obj = mysql_fetch_object($rs))
{
$objList[$i]=$obj;
$i++;
}
$this->close();
return json_encode(array("result"=>"success",‘data‘=>$objList));
}
/**
* @description 插入数据到数据库中
* @param $tableName 表名
* @param array $columns 包含表中所有字段名的数组。默认空数组,则是全部有序字段名
* @param array $values 包含对应所有字段的属性值的数组
* @return int
*/
public function insertData($tableName,$columns=array(),$values=array())
{
$sql = ‘insert into ‘.$tableName .‘( ‘;
for($i = 0; $i sizeof($columns);$i ++)
{
$sql .= $columns[$i];
if($i sizeof($columns) - 1)
{
$sql .= ‘,‘;
}
}
$sql .= ‘) values ( ‘;
for($i = 0; $i sizeof($values);$i ++)
{
$sql .= "‘".$values[$i]."‘";
if($i sizeof($values) - 1)
{
$sql .= ‘,‘;
}
}
$sql .= ‘ )‘;
$this->open();
mysql_query($sql,$this->conn);
return true;
// $id = mysql_insert_id($this->conn);//取得上一步操作产生的ID(2)
// $this->close();(2)
// return $id;//(2)
}
/**
* 通过表中的某一属性获取数据
*/
public function getDataByAtr($tableName,$atrName,$atrValue){
@$data = $this->QueryAll("SELECT * FROM ".$tableName." WHERE $atrName = ‘$atrValue‘");
if(count($data)!=0)return $data;
return NULL;
}
/**
* description_
* 通过表中的"id",删除记录
*/
public function delete($tableName,$atrName,$atrValue){
echo $tableName;
$this->open();
$deleteResult = false;
if(mysql_query("DELETE FROM ".$tableName." WHERE $atrName = ‘$atrValue‘")) $deleteResult = true;
$this->close();
if($deleteResult) return true;
else return false;
}
/**
* 更新表中的属性值
*/
public function updateParamById($tableName,$atrName,$atrValue,$key,$value){
$db = new DB();
$db->open();
if(mysql_query("UPDATE ".$tableName." SET $key = ‘$value‘ WHERE $atrName = ‘$atrValue‘ ")){ //$key不要单引号
$db->close();
return true;
}
else{
$db->close();
return false;
}
}
/*
* @description: 取得一个table的所有属性名
* @param: $tbName 表名
* @return:字符串数组
*/
public function fieldName($tableName){
$resultName=array();
$i=0;
$this->open();
$result = mysql_query("SELECT * FROM ".$tableName);
while ($property = mysql_fetch_field($result)){
$resultName[$i++]=$property->name;
}
$this->close();
return $resultName;
}
}