首页 > php教程 > PHP源码 > 正文

数据库操作原函数定制数据库操作手脚架,类

PHP中文网
发布: 2016-05-25 16:58:18
原创
1234人浏览过

1. [代码]db.php    

<?php
@header('Content-type:text/html;charset=UTF-8');
$pdo=new PDO("mysql:host=localhost;dbname=log;charset=utf8","root","root",array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING))or die(print_r($pdo->errorInfo(),true));
?>
登录后复制

2. [代码]db.function.php    

<?php
@header('Content-type:text/html;charset=UTF-8');
//	if (!defined("ACCESS"))
//	exit("Access Denied!");
	
require "db.php";//$pdo
/* db()函数,简化了数据库操作.insert update select count delete ,视情况添加max,avg,min 适于自己包装
$table=table name,$method=db action (crud,count(*),max/min/avg/($field)) , $field=column name or (array)names, $value=field value or (array)values ,$where=where clause, +orderby,+limit,it is optional.
last,use native $sql=sql sentence;
*/	
function db($table='',$method='',$field='',$value='',$where='',$return='',$sql='')
{
	global $pdo;var_dump($where);
		if($where==''){$tail='';}else{$tail='where '.$where;var_dump($tail);}//若是不带where的小尾巴,就写(id>0)+tail
	switch($method)
	{
		case "insert": //db($table,$field,$value) insert into $table ($fields) values ($values)
			$sql="insert into {$table} {$field} values {$value}";break; 
		case "update": //db($table,field,$value) update $table set ($fields) values ($values) where ($where)
			$sql="update {$table} set {$field} values {$value} {$tail}";break;  
		case "select": //db($table,$field,$where) select ($fields) from $table where ($where)
			$sql="select {$field} from {$table} {$tail}";break;  
		case "count": //db($table,$where) select count(*) from $table where ($where)
			$sql="select count(*) from {$table} {$tail}";break;  
		case "delete": //db($table,$where) delete from $table where ($where)
			$sql="delete from {$table} $tail";break;  
		default: // db($table,$method,$where) $method=(count(*),max/min/avg/($field)) $method="count(*)" select count(*) from $table where id<10
			$sql="select {$method} ({$field}) from {$table} {$tial}";break; //you can change sql to $sql="select {$method} from {$table} $tail"  to get more free
	}

	$db=$pdo->prepare($sql);
	$db->execute();

	switch($return)
	{
		case "id":$return=$db->lastInsertId;break; //返回最后影响id
		case "rows":$return=$db->rowCount();break; //返回影响行数
		case "row":$return=$db->fetch();break;  //返回行记录
		case "allrow":$return=$db->fetchAll();break;  //返回所有行记录
		default:break;		
	}
	var_dump($sql); //you can change it to $return['sql']=$sql;
	var_dump($return);
	return
		$return;
}
/*用例
$array=db("user","select","username",'',"userid<10","allrow");
print_r($array);

	it is short for:
$sql="select usrname from user where userid<10";
$db=$pdo->prepare($sql);
$db->execute();
return $db->fetchAll();

*/

//简洁独立函数

function insert($table,$field='',$value='',$return=''){return db($table,"insert",$field,$value,'',$return);}  //db->insert($table,$field,$value,$return)
function update($table,$field='',$value='',$where='',$return='') {return db($table,"update",$field,$value,$where,$return);}
//function countRows($table,$field='*',$where='',$return='rows') {return db($table,'count',$field,'',$where,$return);} 跟php count()冲突
function select($table,$field='',$where='',$return='') {return db($table,"select",$field,'',$where,$return);}  //db->select($table,$field,$where='')
function delete($table,$where,$return='') {return db($table,"delete",'','',$where,$return);}  //db->delete($table,$where)
function execute($sql,$return='') {return db('','','','','',$return,$sql);}  //$db->prepare($sql,$return)

$array=select('user','username','userid<10','allrow');
var_dump($array);
?>
登录后复制

3. [代码]db.class.php  

<?php
	@header('Content-type:text/html;charset=UTF-8');
//	if (!defined("ACCESS"))
//	exit("Access Denied!");
/*
require "db.function.php";
class db{
	
	global $pdo;
	$table;
	$field;
	$value;
	$return;
	$sql;

	function __construct($table='',$field='',$value='',$where='',$return='',$sql='')
	{
		$this->table=$table;
		$this->field=$field;
		$this->value=$value;
		$this->return=$return;
		$this->where=$where;
		$this->sql=$sql;	
	}
	
	function insert($table,$field='',$value='',$return=''){$db($table,"insert",$field,$value,'',$return);}  //$db->insert($table,$field,$value,$return)
	function update($table,$filed='',$value='',$where,$return='') {$db($table,"update",'',$value,$return);}
	function select($table,$filed='',$where='',$return='') {$db($table,"select",'',$value,$return);}  //$db->select($table,$field,$where='')
	function count($table,$where='',$return='') {$db($table,"count",','$value,$return);}  //$db->count($table,$field,$where='')
	function delete($table,$where,$return='') {$db($table,"delete",'',$value,$return);}  //$db->delete($table,$where)
	function prepare($sql,$return='') {$db('','','','','',$return,$sql);}  //$db->prepare($sql,$return)
}

/*$metadb=new db($pdo);
$array=db("user","select","name",'',"userid<10","allrow");
print_r($array);
*/
*/

?>
登录后复制

4. [代码]user.function.php  

<?php
@header('Content-type:text/html;charset=UTF-8');
	$time=date('Y-m-d H:i:s');
	$fields=(usernaem,password,server_password,tel,email,ip,profile,addtime);
	$values=($username,$password,$server_password,$tel,$email,$ip,$profile,$time);
//$fields 字段数组
//$values 值数组
function addUser($values){
	$fields=(usernaem,password,server_password,tel,email,ip,profile,addtime);
//	$values=($username,$password,$server_password,$tel,$email,$ip,$profile,date('Y-m-d H:i:s'));
	return insert('user',$fields,$values,'rows');
}
function setUser($inputs){
	return update('user',$fields,$values,'userid={$userid}','rows');
}
function getUser($userid){
	return select('user','*',id={$userid}','allrow');
}

?>
登录后复制

                   

                   

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号