PHP之封装MySQL类

2025-11-06 0 363

config.inc.php内容如下

<?php return array( DB_HOST => 192.168.188.134, DB_NAME => scoreboard, DB_USER => score, DB_PASS => 123456, DB_CHARSET => utf8, IS_LOG => 1,//开启日志 LOGFILEPATH => ../log.txt//日志路径 ); /* $database = require(./config.php); echo $database[DB_TYPE]; //输出DB_TYPE */ ?>

表设计如下

create database scoreboard; use scoreboard; create table users( id int not null auto_increment primary key, gid int not null, –组id username varchar(20) not null, password varchar(32) not null, sex varchar(2) not null, totalscore int –个人总积分 ); create table share( id int not null auto_increment primary key, uid int not null, content varchar(1024) not null, –分享内容 comment varchar(1024) not null, –点评 date varchar(15) not null –分享日期 ); create table score( id int not null auto_increment primary key, uid int not null, –用户id score int not null, –用户单次积分 ); grant all privileges on scoreboard.* to score@% identified by 123456; flush privileges;

封装类如下

<?php class mysql { private $logfilepath; private $is_log; private $hlog; private $conn; //构造函数 public function __construct() { $config = include_once(dirname(__FILE__).“/../config/config.inc.php”); $this>is_log = $config[IS_LOG]; $this>logfilepath = $config[LOGFILEPATH]; if ($this>is_log){ $handle = fopen($this>logfilepath,“a+”); $this>hlog = $handle; } $this>conn = $this>connect($config[DB_HOST],$config[DB_USER],$config[DB_PASS],$config[DB_NAME],$config[DB_CHARSET]); } //连接数据库 public function connect($dbhost, $dbuser, $dbpass, $dbname, $dbcharset) { $this>conn = @mysql_connect($dbhost,$dbuser,$dbpass); if (!$this>conn) { $msg = “连接数据库失败:”.mysql_error(); $this>write_log($msg); die($msg); } else { if (!@mysql_select_db($dbname)) { $msg = “连接数据库成功,但选择数据库失败:”.mysql_error(); $this>write_log($msg); die($msg); } else { $msg = “连接数据库成功,且选择数据库成功”; $this>write_log($msg); } } @mysql_query(“set names “.$dbcharset); } //执行语句 public function query($sql){ $result = @mysql_query($sql); if (!$result) { $this>write_log(mysql_query error:.mysql_error()); } else { $this>write_log(执行语句:.$sql. 且执行成功); } return $result; } //查询一条数据 public function select_one($tab,$column = “*”,$condition = ,$debug=False) //查询函数 { $condition = $condition ? where . $condition : NULL; $sql = “select $column from $tab $condition; if ($debug) { echo 将执行语句:.$sql.<br />; } else { $result = $this>query($sql); $row = @mysql_fetch_assoc($result); return $row; } } //查询多条数据 public function select_more($tab,$column = “*”,$condition = ,$debug=False) //查询函数 { $condition = $condition ? where . $condition : NULL; $sql = “select $column from $tab $condition; if ($debug) { echo 将执行语句:.$sql; } else { $result = $this>query($sql); $i = 0; $rows = array(); while ($row = @mysql_fetch_assoc($result)) { $rows[$i] = $row; // print_r($rows[$i]); $i++; } return $rows; } } //返回结果集 public function echo_result($tab,$column = “*”,$condition = ,$debug=False) //查询函数 { $condition = $condition ? where . $condition : NULL; $sql = “select $column from $tab $condition; if ($debug) { echo 将执行语句:.$sql.<br />; } else { return $this>query($sql); } } //插入数据 public function insert($tab,$arr,$debug=False) { $value = ; $column = ; foreach ($arr as $k => $v) { $column .= “,{$k}; $value .= “,{$v}; } $column = substr($column, 1); $value = substr($value, 1); $sql = “insert into $tab($column) values($value)”; if ($debug) { echo 将执行语句:.$sql; } else { $this>query($sql); $num = $this>affected_num(); $this>write_log(“受影响行数:”.$num); return $num; //返回受影响行数 } } //获取最后插入的id public function insert_id() { $id = mysql_insert_id($this>link_id); $this>write_log(最后插入的id为:.$id); return $id; } //更新数据 public function update($tab,$arr,$condition = ,$debug=False) { if (!$condition) { die(“error”.mysql_error()); } else { $condition = where . $condition; } $value = ; foreach ($arr as $k => $v) { $value .= {$k}={$v},”; } $value = substr($value,0,1); $sql = “update $tab set $value $condition; if ($debug) { echo 将执行语句:.$sql; } else { $this>query($sql); $num = $this>affected_num(); $this>write_log(“受影响行数:”.$num); return $num; } } //删除数据 public function delete($tab,$condition=,$debug=False) { $condition = $condition ? where . $condition : NULL; $sql = “delete from $tab $condition; if ($debug) { echo 将执行语句:.$sql; } else { $this>query($sql); $num = $this>affected_num(); $this>write_log(“受影响行数:”.$num); return $num; //返回受影响行数 } } //返回受影响行数 public function affected_num() { $num = @mysql_affected_rows(); return $num; } //写入日志 public function write_log($msg=) { if ($this>is_log){ $text = date(“Y-m-d H:i:s”).” “.$msg.“\r\n”; fwrite($this>hlog,$text); } } //关闭数据库连接 public function close() { mysql_close($this>conn); } //析构函数 public function __destruct() { if($this>is_log){ fclose($this>hlog); } } } //$db = new mysql(); // //select_one($tab,$column = “*”,$condition = ) // $rows = $db->select_more(share,*); // print_r($rows[0]); // print_r($rows[1]); // //insert($tab,$arr) // $arr = array(); // $arr[uid] = 3; // $arr[content] = xss; // $arr[comment] = very good; // $arr[date] = 1464082630; // $db->insert(share,$arr); // //update($tab,$arr,$condition = ) // $arr = array(); // $arr[content] = xssxssxssxssxss; // $arr[comment] = goodgoodgoodgood; // $condition = id > 5; // $db->update(share,$arr,$condition); //$db->delete(“share”,”id between 10 and 15″); //$db->close(); ?>

以上就是PHP之封装MySQL类的详细内容,更多关于PHP之封装MySQL类的资料请关注码农网其它相关文章!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

遇见资源网 后端开发 PHP之封装MySQL类 https://www.ox520.com/4391.html

常见问题

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务