本文实例讲述了php简单数据库操作类。分享给大家供大家参考,具体如下:
在进行项目开发时,数据库是必不可少的东西了。但是很多时候却又对数据库sql语句的繁杂而感到头疼。提供一个我自己使用的数据库操作类(模型model),供大家使用。支持增、删、改、查,支持链式操作,代码不到100行,非常小巧方便,很适合小项目的快速部署使用。
/**
*
* @authot: summer
*
* @e-mail: [email protected]
*
* @data: 2015-02-06
*
* @project: 数据库操作类model
*
* @version:1.0
*
* @版权所有:夏天的风————记录夏天对技术的追求与生活的热爱
*
* @网址: http://www.xtwind.com
**/
class model{
public $field;
public $tabname;
public $where;
public $order;
public $limit;
//构造函数,链接数据库,给表赋值
function __construct($tabname){
mysql_connect(host,user,password);
mysql_select_db(dbname);
mysql_query("set names utf8");
$this->tabname=$tabname;
}
//组合字段
function field($field){
$this->$field=$field;
return $this;
}
//组合where条件
function where($where){
$this->where="where ".$where;
return $this;
}
//组合order排序条件
function order($order){
$this->order="order by ".$order;
return $this;
}
//组合limit限制条数
function limit($limit){
$this->limit="limit ".$limit;
return $this;
}
//组合和执行select语句
function select($all=""){
if ($all) {
$sql="select {$all} from {$this->tabname} order by id";
}else{
$sql="select {$this->filed} from {$this->tabname} {$this->where} {$this->order} {$this->limit}";
}
$rst=mysql_query($sql);
while ($row=mysql_fetch_assoc($rst)) {
$rows[]=$row;
}
return $rows;
}
//组合和执行insert语句
function insert($post){ //数据库插入操作,接收数组
foreach ($post as $key => $value) {
$keys[]=$key;
$vals[]="'".$valu."'";
}
$keystr=join(",",$keys);
$valstr=join(",",$vals);
$sql="insert into {$this->tabname}($keystr) values()";
if (mysql_query($sql)) {
return mysql_insert_id();
}else{
return false;
}
}
//组合和执行delect语句
function delect(){
$sql="delect from {$this->tabname} {$this->where}";
if (mysql_query($sql)) {
return mysql_affected_rows();
}else{
return false;
}
}
//组合和执行updata语句
function update($post){
foreach ($psot as $key => $value) {
$sets[]="{$key}='{$val}'";
}
$setstr=join(",",$sets);
$sql="update {$this->tabname} set {$setstr} {$this->where} ";
if (mysql_query($sql)) {
return mysql_affected_rows();
}else{
return false;
}
}
//从表中取一行数据
function find(){
if ($this->order) {
$sql="select * from {$this->tabname} {$this->order} limit 1";
}else{
$sql="select * from {$this->tabname} order by id limit 1";
}
$rst=mysql_query($sql);
while ($row=mysql_fetch_assoc($rst)) {
$rows[]=$row;
}
return $rows;
}
//获取总行数
function total(){
$sql="select count(*) from {$this->tabname}";
$rst=mysql_query($sql);
if ($rst) {
$row=mysql_fetch_row($rst);
return $row[0];
}else{
return false;
}
}
}
//model类对象工厂
function m($tabname){
return new model($tabname);
}
define("host","localhost");
define("user", "root");
define("password", "123456");
define("dbname", "test")
$user=new model("user");
$user->field("id,name")->where("id=3")->order("id desc")->limit("3")->select();
评论列表:
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论