php封装数据库增删改查,php增删改查封装

16cea14847e1ea89a1f78445df47933d.png

php增删改查封装

首先创建一个名为“DB”的类;然后在“DB”类的构造方法中去连接数据库;再根据连接实例进行编写增删改查操作;最后将“DB”类进行实例化并设置为全局变量即可。

封装代码:<?php

/**

* 数据库配置信息

*/

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;

}

}

推荐教程:《PHP教程》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值