About_php_封装函数
<?php //编写数据库操作的魔术函数
function mysql_bind(){ //首先我们不知道外面会传入多少个参数
//可以用func_get_args()方法来获取全部传入参数,这个方法返回全部参数的数组
//和func_get_args()方法相对应的其实还有一个func_num_args()来获取参数个数
$args = func_get_args(); //通过使用array_shift方法,使传入的第一个参数,后后面的参数分开,其实就是把sql语句,和
//后面传入的值分开,使用了array_shift方法,可以返回一个字符串,这个字符串就是sql语句
//后面剩下的数组就是要传入的值 //sql语句
$sql = array_shift($args);
//重新复制给一个数组
$value = $args; //替换$sql语句中的?,使用str_replace函数
$sql = str_replace("?","'%s'",$sql); //把替换好的$sql语句,通过vsprintf函数,把值填入进去 $sql = vsprintf($sql,$value); //截取$sql语句前面的关键字,其实就是select,insert,update,delete
$begin = substr($sql,0,6); //explode(" ",$sql)[0]; //这种写法在PHP5.4之前是不支持的 $conn = mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("bbs",$conn);
mysql_query("set names 'utf8'"); $result = mysql_query($sql) or die(mysql_error()); if(strcasecmp($begin,"insert") == 0){
//如果插入成功,那么肯定有一个最新的id,所以这个id不等于0的话,证明插入成功,否则失败
return mysql_insert_id();
}
else if(strcasecmp($begin,"update") == 0){
//mysql_affected_rows()表示几行受影响,成功,肯定是大于0,否则失败
return mysql_affected_rows();
}
else if(strcasecmp($begin,"delete") == 0){
//mysql_affected_rows()表示几行受影响,成功,肯定是大于0,否则失败
return mysql_affected_rows();
}
else{
//为了将查询的内容返回回去
//首先申明一个空的数组,然后,这个空的数组,每次循环,都将$row赋值给他
//相当于这个数组就形成了一个二维数组
$arr = array();
while($row=mysql_fetch_array($result)){
$arr[] = $row;
// array_push($arr,$row);
}
return $arr;
} } ?>
strcasecmp("a","b");
比较两个字符串(用ASCII 码);
返回1,-1,0;
About_php_封装函数的更多相关文章
- Javascript:来一个AJAX封装函数
前不久换工作了,最近一直在出差,忙得跟狗一样,所以博客都荒废许久了. 最近的工作中涉及到大量的ajax操作,本来该后台做的事也要我来做了.而现在使用的ajax函数是一个后台人员封装的—-但他又是基于 ...
- jQuery封装函数
//1,插件命名:jQuery.插件名.js 为拉避免和其他库的冲突// //2,自定义插件尽量避免使用$ 如果非要使用$就一定要将jQuery传递进去,//写在最后加一个小括号写jquery ;结束 ...
- 浏览器兼容——DOM事件封装函数
//封装函数var eventUtil={ //添加事件 addHandler:function(element,type,handler){ if(element.addE ...
- WMI 获取硬件信息的封装函数与获取联想台式机的出厂编号方法
原文:WMI 获取硬件信息的封装函数与获取联想台式机的出厂编号方法 今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都是可以提取出来的,就自己把那些公共部分提出出来,以后如果要获取 某部分的 ...
- Ajax封装函数笔记
Ajax封装函数: function ajax(method, url, data, success) { //打开浏览器 //1.创建一个ajax对象 var xhr = null; try { x ...
- JS运动缓冲的封装函数
之前经常写运动函数,要写好多好多,后来想办法封装起来.(运动缓冲). /* 物体多属性同时运动的函数 obj:运动的物体 oTarget:对象,属性名为运动的样式名,属性值为样式运动的终点值 rati ...
- js面向对象学习笔记(二):工厂方式:封装函数
//工厂方式:封装函数function test(name) { var obj = new Object(); obj.name = name; obj.sayName = function () ...
- javascript封装函数入门
封装函数的入门 一.使用函数有两步: 1.定义函数,又叫声明函数, 封装函数. 定义函数的三个要素:功能,参数,返回值. function 函数名(形参){ 函数代码 return 结果} //2.调 ...
- ajax请求封装函数
写封装函数的套路 1.先写出这个函数原来的基本用法 2.写一个没有形参空函数,将上一步的代码直接作为函数体, 3.根据使用过程中,抽象出来需要变的东西作为形参 function ajax (metho ...
随机推荐
- 安装yii2时出错 Invalid Parameter – yii\base\InvalidParamException
最近composer安装yii2的时候页面报了这个错,应该是bower的前端资源位置改变的缘故! Invalid Parameter – yii\base\InvalidParamException ...
- 练习:使用nmcli 配置网络连接
显示所有连接 # nmcli con show 显示活动连接的所有配置信息 # nmcli con show "System eth0" --->引号内为连接的网卡名称 显示 ...
- jQuery包装集
jQuery包装集指的是通过$()方法返回的一个元素集,这跟一般的javascript数组有所区别, 包装集在后者的基础上还有一些初始化的函数和属性. 我们可以对二者进行一个比较: jsdiv = d ...
- JS跨域(ajax跨域、iframe跨域)解决方法及原理详解(jsonp)
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...
- .htaccess 基础教程(二)
今天要介绍的:.htaccess的第一个应用是自定义错误页面,这将使你可以拥有自己的.个性化的错误页面(例如找不到文件时),而不是你的服务商提供的错误页或没有任何页面.这会让你的网站在出错的时候看上去 ...
- C和指针 第十一章 习题
1编写calloc,内部使用malloc函数获取内存 #include <stdio.h> #include <stdlib.h> void *myAlloc(unsigned ...
- 去除ios系统a标签点击时的灰色背景
使用图片作为a标签的点击按钮时,当触发touchstart的时候,往往会有一个灰色的背景,想要去掉的话可以用下面这种方式 a,a:hover,a:active,a:visited,a:link,a:f ...
- 分享一个简单易用的RPC开源项目—Tatala
http://zijan.iteye.com/blog/2041894 这个项目最早(2008年)是用于一个网络游戏的Cache Server,以及一个电子商务的Web Session服务.后来不断增 ...
- centos6.5 lamp 环境 使用yum安装方法
从网上找了一些 最后整理了下 1.安装Apache yum -y install httpd # 开机自启动 chkconfig httpd on # 启动httpd 服务 service httpd ...
- html5 form表单常用标签
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...