<?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_封装函数的更多相关文章

  1. Javascript:来一个AJAX封装函数

    前不久换工作了,最近一直在出差,忙得跟狗一样,所以博客都荒废许久了. 最近的工作中涉及到大量的ajax操作,本来该后台做的事也要我来做了.而现在使用的ajax函数是一个后台人员封装的—-但他又是基于 ...

  2. jQuery封装函数

    //1,插件命名:jQuery.插件名.js 为拉避免和其他库的冲突// //2,自定义插件尽量避免使用$ 如果非要使用$就一定要将jQuery传递进去,//写在最后加一个小括号写jquery ;结束 ...

  3. 浏览器兼容——DOM事件封装函数

    //封装函数var eventUtil={    //添加事件    addHandler:function(element,type,handler){        if(element.addE ...

  4. WMI 获取硬件信息的封装函数与获取联想台式机的出厂编号方法

    原文:WMI 获取硬件信息的封装函数与获取联想台式机的出厂编号方法 今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都是可以提取出来的,就自己把那些公共部分提出出来,以后如果要获取 某部分的 ...

  5. Ajax封装函数笔记

    Ajax封装函数: function ajax(method, url, data, success) { //打开浏览器 //1.创建一个ajax对象 var xhr = null; try { x ...

  6. JS运动缓冲的封装函数

    之前经常写运动函数,要写好多好多,后来想办法封装起来.(运动缓冲). /* 物体多属性同时运动的函数 obj:运动的物体 oTarget:对象,属性名为运动的样式名,属性值为样式运动的终点值 rati ...

  7. js面向对象学习笔记(二):工厂方式:封装函数

    //工厂方式:封装函数function test(name) { var obj = new Object(); obj.name = name; obj.sayName = function () ...

  8. javascript封装函数入门

    封装函数的入门 一.使用函数有两步: 1.定义函数,又叫声明函数, 封装函数. 定义函数的三个要素:功能,参数,返回值. function 函数名(形参){ 函数代码 return 结果} //2.调 ...

  9. ajax请求封装函数

    写封装函数的套路 1.先写出这个函数原来的基本用法 2.写一个没有形参空函数,将上一步的代码直接作为函数体, 3.根据使用过程中,抽象出来需要变的东西作为形参 function ajax (metho ...

随机推荐

  1. Bash 4.4 中新增的 ${parameter@operator} 语法

    Bash 4.4 中新增了一种 ${...} 语法,长这样:${parameter@operator}.根据不同的 operator,它展开后的值可能是 parameter 这个参数的值经过某种转换后 ...

  2. 回车符(CR)与换行符(LF), '\r'和'\n'的区别

    回车”(Carriage Return)和“换行”(Line Feed)这两个概念的来历和区别.在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下 ...

  3. PHP判断变量是否存在及函数isset() 、empty()与is_null的区别

    一.举例说明 A.如何判断一个变量是否定义? <?php // 假设不存在$test 变量 if (isset($test)) { echo '$test 已经set', '<br/> ...

  4. PHP判断远程文件是否存在

    <?php /* 函数:remote_file_exists 功能:判断远程文件是否存在 参数: $url_file -远程文件URL 返回:存在返回true,不存在或者其他原因返回false ...

  5. Linux 新建用户、用户组,给用户分配权限(chown、useradd、groupadd、userdel、usermod、passwd、groupdel)

    Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...

  6. TCP/IP 协议

    网站: http://blog.csdn.net/goodboy1881/article/category/204448

  7. Java四种线程池的使用

    Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程.newFixe ...

  8. Proj.4 API 中文参考

    ProjAPI https://github.com/OSGeo/proj.4/wiki/ProjAPI Tom Kralidis在2015年5月27日编辑此页·修订4 简介 执行pj_init()选 ...

  9. Python的由来

    Python的由来 Python这门语言是由C开发而来. C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作 其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转 ...

  10. Linux From Scratch - Version 7.7-systemd (中文)

    Linux From Scratch - Version 7.7-systemd: https://linux.cn/lfs/LFS-BOOK-7.7-systemd/index.html