问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php封装一个class类,实现mysql数据库的增删改查怎么操做?

发布网友 发布时间:2022-04-25 15:42

我来回答

3个回答

懂视网 时间:2022-04-29 10:26

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教程》

热心网友 时间:2022-04-29 07:34

class sqlHelper{
public $conn;
public $dbname="数据库名称";
public $username="数据库用户名";
public $password="数据库密码";
public $host="localhost";
//连接数据库
public function __construct(){
$this->conn=mysql_connect($this->host,$this->username,$this->password);
if(!$this->conn){
die("连接失败".mysql_error());
}
mysql_select_db($this->dbname,$this->conn);
}
//执行查询语句
public function execute_dql($sql){
$res=mysql_query($sql,$this->conn);
return $res;
}
//执行增填改语句
public function execute_dml($sql){
$b=mysql_query($sql,$this->conn);
if(!$b){
return 3;
}else{
if(mysql_affected_rows($this->conn)){
return 1;//表示OK
}else{
return 2;//表示没有行收到影响
}
}
}
}

热心网友 时间:2022-04-29 08:52

class
sqlHelper{
public
$conn;
public
$dbname="数据库名称";
public
$username="数据库用户名";
public
$password="数据库密码";
public
$host="localhost";
//连接数据库
public
function
__construct(){
$this->conn=mysql_connect($this->host,$this->username,$this->password);
if(!$this->conn){
die("连接失败".mysql_error());
}
mysql_select_db($this->dbname,$this->conn);
}
//执行查询语句
public
function
execute_dql($sql){
$res=mysql_query($sql,$this->conn);
return
$res;
}
//执行增填改语句
public
function
execute_dml($sql){
$b=mysql_query($sql,$this->conn);
if(!$b){
return
3;
}else{
if(mysql_affected_rows($this->conn)){
return
1;//表示OK
}else{
return
2;//表示没有行收到影响
}
}
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...每分钟走50米,就会迟到6分钟,如果每分钟走80米,就会早到3分钟。小... 谢馥春飞燕胭脂的持妆能力如何? stray中城夜店剧情怎么触发 老家房子怎么办理不动产登记 谁给我个真三国无双4武器修改器 那个……移动硬盘无法读取是什么原因呢? 移动硬盘无法正常运行,怎么办? ...高么?以后上大学学费高么? 还有什么专业时候我学? 电影《教父》:探析符号的价值 11岁女孩适合什么发形 jsp操作mysql数据库实现增删改查,数据库只有两个字段,title和content... 求Mysql通用的一些存储过程,如添加,删除,修改,查询 如何用jmeter实现mysql数据库增删改查 MySQL中的添改删查语句和正常MSSQL有什么不同? eclipse连接mysql,实现增删改查功能 php 使用pdo对mysql数据库增删改查实例 mysql 增删改查 哪个最占用资源 如何利用MySQL创建,查看,修改和删除视图 关于mysql的问题,对于增删改查,有affected_rows还有哪些类似返回函数... jsp连接mysql数据库后增删改查怎么写 如何利用MySQL命令创建,查看,重建和删除索引 mysql和SQL中增删改查语句是否一样呢 如何利用MySQL Workbench自动生成增删改查语句 淘宝店铺怎么加入淘宝客 加入淘宝客的标准和流程介绍 php之mysql的查询、添加、删除、修改功能 淘宝店铺淘宝客是怎么来的 如何在SSH框架中用MySql写增删改查的语句 数据库中增删改查的基本语句是什么? 怎么查看对方的淘宝店是否是淘宝客用户 怎么知道哪些淘宝店铺加入了淘宝客? mysql数据库操作的创建 删除 修改分别是什么单词 mysql语句 模糊匹配删除或替换怎么写 SQL 和MySQL的增删改查操作是不是一样的? SQL数据库查询语句,包括增,删,改,查等所有语句详细。 做一个用户自定义控件可以实现对数据库表的增、删、改、查功能,求思路... 如果得到了软考高项的证书,对于我而言有什么好处 我通过了国家软考的“高级信息系统项目管理师”的考试,这个证书对于... 软考到底有什么用?有人知道吗? 考信息系统项目管理师有什么用? 耳朵长囊肿咋办 软考证书有什么用? 耳朵上有囊肿 怎么办啊? 耳朵上有囊肿怎么治疗 耳朵长皮脂腺囊肿怎么办 ? 耳朵囊肿要怎么治疗? 耳廓囊肿怎么治疗 怎么治疗耳朵上的囊肿啊? 你好,我的耳朵后边也起了一个皮脂腺囊肿,和你的类似,不痛不痒的!怎么样消除的快点呢?谢谢了 耳朵里长囊肿怎么治疗 耳朵后面囊肿怎么治疗