php懒人函数 自动添加数据

yipeiwu_com5年前PHP代码库
复制代码 代码如下:

/*
*@自动添加数据函数
*@$table 表名
*@$arr 字段库 array("title",array("content",int))
*@ array(字段,类型)
*@ 类型说明
html--允许html
unhtml-不允许html
int --int类型
float -- float 类型
*/
//自动插入数据函数
function autoInsert($table,$arr=array(),$method='post')
{
$sql="insert into ".DB_TBLPRE."$table set ";
$var="";
print_r($arr);
if(empty($arr)) $arr=$_POST?$_POST:$_GET;
if(empty($arr)) return false;
$ct=count($arr)-1;
foreach($arr as $k=> $v)
{
$vtype="unhtml";
if(is_array($v))
{
$vtype=@$v[1];
$v=$v[0];
}
if($method=='post')
{
$_POST[$v]=isset($_POST[$v])?trim($_POST[$v]):"";
if(is_int($_POST[$v]))
{
$_POST[$v]=intval($_POST[$v]);
}elseif(is_float($_POST[$v]))
{
$_POST[$v]=floatval($_POST[$v]);
}elseif(is_string($_POST[$v]))
{
//等于1 为保存html 默认不保存html
if($vtype=="unhtml")
{
$_POST[$v]=htmlspecialchars($_POST[$v]);
}elseif($vtype=="int")
{
$_POST[$v]=@intval($_POST[$v]);
}elseif($vtype=='float')
{
$_POST[$v]=@floatval($_POST[$v]);
}
}
$var.= "$v = '$_POST[$v]' ".($k<$ct?",":"");
}else
{
$_GET[$v]=isset($_GET[$v])?trim($_GET[$v]):"";
if(is_int($_GET[$v]))
{
$_GET[$v]=intval($_GET[$v]);
}elseif(is_float($_GET[$v]))
{
$_GET[$v]=floatval($_GET[$v]);
}elseif(is_string($_GET[$v]))
{
//等于1 为保存html 默认不保存html
if($vtype=='unhtml')
{
$_GET[$v]=htmlspecialchars($_GET[$v]);
}elseif($vtype=='int')
{
$_GET[$v]=intval($_GET[$v]);
}elseif($vtype=='float')
{
$_GET[$v]=floatval($_GET[$v]);
}
}
$var .="$v= '$_GET[$v]' ".($k<$ct?",":"");
}
}
$sql.=$var;
$this->query($sql);
return $this->insert_id();
}
/**
@自动更新数据函数
*@$table 表名
*@$arr 字段库 array("title",array("content",int))
*@ array(字段,类型)
*@ 类型说明
html--允许html
unhtml-不允许html
int --int类型
float -- float 类型
** $where 条件数组 类型同 $arr一样
*$method 表单提交的方式
*/
function autoUpdate($table,$arr=array(),$where=array(),$method='post')
{
$sql="update ".DB_TBLPRE."$table set ";
$var=$w="";
if(empty($arr)) $arr=$_POST?$_POST:$_GET;
if(empty($arr)) return false;
$ct=count($arr)-1;
foreach($arr as $k=> $v)
{
$vtype="unhtml";
if(is_array($v))
{
$vtype=@$v[1];
$v=$v[0];
}
if($method=='post')
{
$_POST[$v]=isset($_POST[$v])?trim($_POST[$v]):"";
if(is_int($_POST[$v]))
{
$_POST[$v]=intval($_POST[$v]);
}elseif(is_float($_POST[$v]))
{
$_POST[$v]=floatval($_POST[$v]);
}elseif(is_string($_POST[$v]))
{
//等于1 为保存html 默认不保存html
if($vtype=="unhtml")
{
$_POST[$v]=htmlspecialchars($_POST[$v]);
}elseif($vtype=="int")
{
$_POST[$v]=@intval($_POST[$v]);
}elseif($vtype=='float')
{
$_POST[$v]=@floatval($_POST[$v]);
}
}
$var.= "$v = '$_POST[$v]' ".($k<$ct?",":"");
}else
{
$_GET[$v]=isset($_GET[$v])?trim($_GET[$v]):"";
if(is_int($_GET[$v]))
{
$_GET[$v]=intval($_GET[$v]);
}elseif(is_float($_GET[$v]))
{
$_GET[$v]=floatval($_GET[$v]);
}elseif(is_string($_GET[$v]))
{
//等于1 为保存html 默认不保存html
if($vtype=='unhtml')
{
$_GET[$v]=htmlspecialchars($_GET[$v]);
}elseif($vtype=='int')
{
$_GET[$v]=intval($_GET[$v]);
}elseif($vtype=='float')
{
$_GET[$v]=floatval($_GET[$v]);
}
}
$var .="$v= '$_GET[$v]' ".($k<$ct?",":"");
}
}
$sql.=$var;
//解析 where
$ct=count($where)-1;
if(!empty($where)) $w=" where ";
foreach($where as $k=> $v)
{
$vtype="unhtml";
if(is_array($v))
{
$vtype=@$v[1];
$v=$v[0];
}
if($method=='post')
{
$_POST[$v]=isset($_POST[$v])?trim($_POST[$v]):"";
if(is_int($_POST[$v]))
{
$_POST[$v]=intval($_POST[$v]);
}elseif(is_float($_POST[$v]))
{
$_POST[$v]=floatval($_POST[$v]);
}elseif(is_string($_POST[$v]))
{
//等于1 为保存html 默认不保存html
if($vtype=="unhtml")
{
$_POST[$v]=htmlspecialchars($_POST[$v]);
}elseif($vtype=="int")
{
$_POST[$v]=@intval($_POST[$v]);
}elseif($vtype=='float')
{
$_POST[$v]=@floatval($_POST[$v]);
}
}
$w.= "$v = '$_POST[$v]' ".($k<$ct?" and ":"");
}else
{
$_GET[$v]=isset($_GET[$v])?trim($_GET[$v]):"";
if(is_int($_GET[$v]))
{
$_GET[$v]=intval($_GET[$v]);
}elseif(is_float($_GET[$v]))
{
$_GET[$v]=floatval($_GET[$v]);
}elseif(is_string($_GET[$v]))
{
//等于1 为保存html 默认不保存html
if($vtype=='unhtml')
{
$_GET[$v]=htmlspecialchars($_GET[$v]);
}elseif($vtype=='int')
{
$_GET[$v]=intval($_GET[$v]);
}elseif($vtype=='float')
{
$_GET[$v]=floatval($_GET[$v]);
}
}
$w .="$v= '$_GET[$v]' ".($k<$ct?" and ":"");
}
}
$sql.=$w;
$this->query($sql);
}

相关文章

PHP代码优化的53个细节

用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:...

PHP 输出简单动态WAP页面

当然,也有其他方法,网上可以搜索得到。我这里推荐一个既能浏览http页面又能浏览wap页面的方法,那就是用Firefox + wmlbrowser组件。装好wmlbrowser组件的fi...

flash用php连接数据库的代码

php代码:复制代码 代码如下: /* /flashservices/services/Catalog.php */ class Catalog {     &nbs...

PHP如何防止XSS攻击与XSS攻击原理的讲解

PHP如何防止XSS攻击与XSS攻击原理的讲解

XSS又称CSS,全称Cross SiteScript(跨站脚本攻击), XSS攻击类似于SQL注入攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略...

PHP中redis的用法深入解析

PHP中redis的用法深入解析

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合...