PHP
·
发表于 5年以前
·
阅读量:8306
本文实例讲述了PHP简单数据库操作类。分享给大家供大家参考,具体如下:
在进行项目开发时,数据库是必不可少的东西了。但是很多时候却又对数据库SQL语句的繁杂而感到头疼。提供一个我自己使用的数据库操作类(模型Model),供大家使用。支持增、删、改、查,支持链式操作,代码不到100行,非常小巧方便,很适合小项目的快速部署使用。
/**
*
* @Authot: summer
*
* @E-mail: wenghang1228@me.com
*
* @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();
完整实例代码点击此处[本站下载](http://xiazai.jb51.net/201610/yuanma/mysql-model-class-codes(jb51.net).rar)。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。