很好用的PHP数据库类


Posted in PHP onMay 27, 2009
<? 
//很好用的PHP数据库类,三、四句代码搞定一个表的操作,无论这个表字段有多复杂。 
//此类多次大量用在大型网站程序的开发上,效果特别的好。 
//作者:快刀浪子++  
define(\"_PHP_RECORD_\",\"exists\"); 
class TRecord 
{ 
var $db; 
var $rc; 
var $name; 
var $value; 
var $num; 
var $buffer; //查询结果 调用方法 $buffer[$i][\"fields\"]; 
var $seekstr;
 //保存查询条件用 
function TRecord($host=\"localhost\",$user=\"root\",$passwd=\"\") 
{global $HTTP_POST_VARS; 
$this->num=0; 
$this->host=$host; 
$this->user=$user; 
$this->passwd=$passwd; 
if(($this->db=mysql_connect($host,$user,$passwd))==false) 
exit(\"联结数据库出错!\"); 

while(list($this->name[$this->num],$this->value[$this->num])=each($HTTP_POST_VARS)) 
{$this->num++; 
} 
////////////// 
for($i=0;$i<$this->num;$i++) 
{$this->value[$i]=$this->SafeString($this->value[$i]); 
} 
// 
} 
function SafeString($message) 
{$message=str_replace(\" \",\" \",$message); 
$message=str_replace(\"<\",\"<\",$message); 
$message=str_replace(\">\",\">\",$message); 
//$message=str_replace(\"|\",\"|\",$message); 
//$message=str_replace(\"\\"\",\""\",$message); 
//$message=nl2br($message); 
return $message; 
} 
////// 
function reset() 
{$this->num=0; 
$this->name=array(); 

 $this->value=array(); 
} 
function add($name,$values) 
{$this->name[$this->num]=$name; 

 $this->value[$this->num]=$values; 
$this->num++; 
} 
function unadd($name) 
{$j=0; 
for($i=0;$i<$this->num;$i++) 
{if($this->name[$i]!=$name) 
{$aaa[$j]=$this->name[$i]; 
$bbb[$j]=$this->value[$i]; 
$j++; 
} 
} 
$this->name=$aaa; 
$this->value=$bbb; 
$this->num=$j; 
} 
function InsertRecord($database,$table) 
{mysql_select_db($database); 
if($this->num==0) 
exit(\"没有定义变量!\"); 
$field=implode(\",\",$this->name); 
for($i=0;$i<$this->num;$i++) 
{if(is_string($this->value[$i])) 
$ls[$i]=\"\'\".$this->value[$i].\"\'\"; 
 else 
$ls[$i]=$this->value[$i]; 


 $value=implode(\",\",$ls);   
} 
$sql=sprintf(\"insert into %s(%s) values(%s)\",$table,$field,$value); 
if(mysql_query($sql,$this->db)==false) 
{echo \"写数据到数据库时出错:\".$sql; 
exit(); 
} 
} 
function SelectRecord($database,$table) //返回记录数,结果在缓冲区中 
{mysql_select_db($database); 


if($this->num==0) 
$sql=sprintf(\"select * from %s\",$table); 
 else 
{ 
for($i=0;$i<$this->num;$i++) 
{if(is_string($this->value[$i])) 
$ls[$i]=\"\'\".$this->value[$i].\"\'\"; 

 else 
$ls[$i]=$this->value[$i]; 
$str[$i]=sprintf(\"%s=%s\",$this->name[$i],$ls[$i]); 
} 
$string=implode(\" and \",$str); 
$this->seekstr=$string; 
$sql=sprintf(\"select * from %s where %s\",$table,$string); 
} 
if(($rc=mysql_query($sql,$this->db))==false) 
{echo \"查询数据库时出错:\".$sql; 
exit(); 
} 
$i=0; 
while($this->buffer[$i]=mysql_fetch_array($rc)) 
{ 
$i++; 
} 
mysql_free_result($rc); 
return $i; 
} 
function UpdateRecord($database,$table,$limitstr) 
{mysql_select_db($database); 
if($this->num==0) 
exit(\"没有定义变量!\"); 
for($i=0;$i<$this->num;$i++) 
{if(is_string($this->value[$i])) 
$ls[$i]=\"\'\".$this->value[$i].\"\'\"; 
 else 
$ls[$i]=$this->value[$i]; 
$upstr[$i]=$this->name[$i].\"=\".$ls[$i]; 
} 


$str=implode(\",\",$upstr); 
$sql=sprintf(\"update %s set %s where %s\",$table,$str,$limitstr); 
if(mysql_query($sql,$this->db)==false) 
{echo \"修改数据时出错:\".$sql; 
exit(); 
} 
} 
function addtip($database,$table,$fileds,$limitstr=\"\") 
{//必须为整型字段  
mysql_select_db($database); 
if($limitstr!=\"\") 
$sql=sprintf(\"update %s set %s=%s+1 where %s\",$table,$fileds,$fileds,$limitstr); 
 else 
$sql=sprintf(\"update %s set %s=%s+1\",$table,$fileds,$fileds); 
if(mysql_query($sql,$this->db)==false) 
{echo \"修改数据时出错:\".$sql; 
exit(); 
} 
} 
function unaddtip($database,$table,$fileds,$limitstr=\"\") 
{ 
mysql_select_db($database); 
if($limitstr!=\"\") 
$sql=sprintf(\"update %s set %s=%s-1 where %s\",$table,$fileds,$fileds,$limitstr); 
 else 
$sql=sprintf(\"update %s set %s=%s-1\",$table,$fileds,$fileds); 
if(mysql_query($sql,$this->db)==false) 
{echo \"修改数据时出错:\".$sql; 
exit(); 
} 
} 
function isempty($var,$china) 
{if(trim($var)==\"\") 
{ 
$reason=\"没有录入“\".$china.\"”!\"; 
exit($reason); 
} 
} 
function GetResult() 
{return $this->buffer; 
} 
function close() 
{ 
mysql_close($this->db); 
} 
} 
?>
PHP 相关文章推荐
PHP.MVC的模板标签系统(三)
Sep 05 PHP
PHP中集成PayPal标准支付的实现方法分享
Feb 06 PHP
thinkphp 一个页面使用2次分页的实现方法
Jul 15 PHP
PHP遍历并打印指定目录下所有文件实例
Feb 10 PHP
ThinkPHP CURD方法之order方法详解
Jun 18 PHP
zend framework框架中url大小写问题解决方法
Aug 19 PHP
php操作xml入门之xml基本介绍及xml标签元素
Jan 23 PHP
php精确的统计在线人数的方法
Oct 21 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
Sep 28 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 PHP
php封装的pdo数据库操作工具类与用法示例
May 08 PHP
php引用和拷贝的区别知识点总结
Sep 23 PHP
PHP XML备份Mysql数据库
May 27 #PHP
PHP mail 通过Windows的SMTP发送邮件失败的解决方案
May 27 #PHP
php 字符转义 注意事项
May 27 #PHP
php 字符过滤类,用于过滤各类用户输入的数据
May 27 #PHP
PHP的单引号和双引号 字符串效率
May 27 #PHP
php session 错误
May 21 #PHP
php print EOF实现方法
May 21 #PHP
You might like
东芝TOSHIBA RP-F11电路分析
2021/03/02 无线电
php面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
Joomla调用系统自带编辑器的实现方法
2016/05/05 PHP
PHP simplexml_load_file()函数讲解
2019/02/03 PHP
使用jQuery轻松实现Ajax的实例代码
2010/08/16 Javascript
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
拉动滚动条加载数据的jquery代码
2012/05/03 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
jquery对复选框(checkbox)的操作汇总
2016/01/13 Javascript
jQuery+canvas实现的球体平抛及颜色动态变换效果
2016/01/28 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
微信小程序 五星评价功能的实现
2017/03/09 Javascript
JS实现按钮控制计时开始和停止功能
2017/07/27 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
2017/10/28 jQuery
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
详解vue中的父子传值双向绑定及数据更新问题
2019/06/13 Javascript
python中readline判断文件读取结束的方法
2014/11/08 Python
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
Python3 适合初学者学习的银行账户登录系统实例
2017/08/08 Python
python使用PIL实现多张图片垂直合并
2019/01/15 Python
Django项目基础配置和基本使用过程解析
2019/11/25 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
浅谈Python3中print函数的换行
2020/08/05 Python
Python通过递归函数输出嵌套列表元素
2020/10/15 Python
使用python对excel表格处理的一些小功能
2021/01/25 Python
使用css3做0.5px的细线的示例代码
2018/01/18 HTML / CSS
乌克兰电子和家用电器商店:Foxtrot
2019/07/23 全球购物
意大利巧克力店:Chocolate Shop
2019/07/24 全球购物
会计专业求职信范文
2014/03/16 职场文书
爱国主义教育演讲稿
2014/08/26 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis
Python中如何处理常见报错
2022/01/18 Python