1 <?php
 2
 3 //编写数据库操作的魔术函数
 4 function mysql_bind(){
 5
 6     //首先我们不知道外面会传入多少个参数
 7     //可以用func_get_args()方法来获取全部传入参数,这个方法返回全部参数的数组
 8     //和func_get_args()方法相对应的其实还有一个func_num_args()来获取参数个数
 9     $args = func_get_args();
10
11     //通过使用array_shift方法,使传入的第一个参数,后后面的参数分开,其实就是把sql语句,和
12     //后面传入的值分开,使用了array_shift方法,可以返回一个字符串,这个字符串就是sql语句
13     //后面剩下的数组就是要传入的值
14
15     //sql语句
16     $sql = array_shift($args);
17     //重新复制给一个数组
18     $value = $args;
19
20     //替换$sql语句中的?,使用str_replace函数
21     $sql = str_replace("?","'%s'",$sql);
22
23     //把替换好的$sql语句,通过vsprintf函数,把值填入进去
24
25     $sql = vsprintf($sql,$value);
26
27     //截取$sql语句前面的关键字,其实就是select,insert,update,delete
28     $begin = substr($sql,0,6);   //explode(" ",$sql)[0]; //这种写法在PHP5.4之前是不支持的
29
30     $conn = mysql_connect("localhost","root","") or die(mysql_error());
31     mysql_select_db("bbs",$conn);
32     mysql_query("set names 'utf8'");
33
34     $result = mysql_query($sql) or die(mysql_error());
35
36     if(strcasecmp($begin,"insert") == 0){
37         //如果插入成功,那么肯定有一个最新的id,所以这个id不等于0的话,证明插入成功,否则失败
38         return mysql_insert_id();
39     }
40     else if(strcasecmp($begin,"update") == 0){
41         //mysql_affected_rows()表示几行受影响,成功,肯定是大于0,否则失败
42         return mysql_affected_rows();
43     }
44     else if(strcasecmp($begin,"delete") == 0){
45         //mysql_affected_rows()表示几行受影响,成功,肯定是大于0,否则失败
46         return mysql_affected_rows();
47     }
48     else{
49         //为了将查询的内容返回回去
50         //首先申明一个空的数组,然后,这个空的数组,每次循环,都将$row赋值给他
51         //相当于这个数组就形成了一个二维数组
52         $arr = array();
53         while($row=mysql_fetch_array($result)){
54             $arr[] = $row;
55 //            array_push($arr,$row);
56         }
57         return $arr;
58     }
59
60
61 }
62
63 ?>

strcasecmp("a","b");

  比较两个字符串(用ASCII 码);

  返回1,-1,0;

转载于:https://www.cnblogs.com/a-moemiss/p/3730982.html

About_php_封装函数相关推荐

  1. 从封装函数到实现简易版自用jQuery (一)

    温馨提示 本文阅读对象: 对 JavaScript 有一定的了解,如果你没有学过或者忘记 JavaScript 某些操作,请看 阮一峰 JavaScript 教程 . 导语 DOM 有许多 API , ...

  2. 关于js封装函数的一些东西

    关于封装函数,函数封装是一种函数的功能,它把一个程序员写的一个或者多个功能通过函数.类的方式封装起来,对外只提供一个简单的函数接口.当程序员在写程序的过程中需要执行同样的操作时,程序员(调用者)不需要 ...

  3. NLP:两种方法(自定义函数和封装函数)实现提取两人对话内容(***分隔txt文档),并各自保存为txt文档

    NLP:两种方法(自定义函数和封装函数)实现提取两人对话内容(***分隔txt文档),并各自保存为txt文档 目录 问题探究 实现代码 问题探究 实现代码 f=open("niu.txt&q ...

  4. linux封装函数,libc库和封装函数 | 求索阁

    Linux系统调用这部分经常出现两个词:libc库和封装函数,不知道你是否清楚它们的含义? libc 1)libc概念 libc是Stantard C Library的简称,它是符合ANSI C标准的 ...

  5. js进阶ajax函数封装(匿名函数作为参数传递)(封装函数引入文件的方式非常好用)...

    js进阶ajax函数封装(匿名函数作为参数传递)(封装函数引入文件的方式非常好用) 一.总结 2.匿名函数作为参数传递 二.js进阶ajax函数封装 ajax1.js 1 function ajax( ...

  6. react封装函数_react request.js 函数封装

    1.request.js  函数封装 import { Toast } from 'antd-mobile'; import axios from 'axios'; import store from ...

  7. php中函数封装怎么弄,php封装函数步骤

    php封装函数步骤 下面定义一个方法,这个方法很简单,就是处理2个数的相加问题function add($number1, $number2) { $sum = $number1 $number2; ...

  8. php 怎么输出alert,php简单提示框alert封装函数

    php简单提示框alert封装函数 发布于 2014-11-03 16:35:27 | 89 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Pr ...

  9. lisp封装成vla函数_[良心教程]分享最新最实用的按键精灵封装函数

    金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚 ...

  10. php封装函数输出,php函数封装

    这是一些自定义封装的函数类,调用起来很方便,以后会有更多的封装函数更新! // 弹框跳转 function alert($msg,$url=''){ echo " echo "al ...

最新文章

  1. 悟道 · 文溯详解:蛋白质序列的大规模预训练
  2. 构筑你的本地资料库——ScrapBook
  3. Maven 搭建spring boot多模块项目(附源码)
  4. MySQL对JSON类型UTF-8编码导致中文乱码探讨
  5. Java中的阻塞队列-LinkedBlockingQueue(二)
  6. 互联网巨头布阵LoRaWAN,是又一春天还是不容乐观?
  7. zabbix通过钉钉报警
  8. apache和mysql 403_如何使用mysql(lamp)分离环境搭建dedecms织梦网站及apache服务器常见的403http状态码及其解决方法...
  9. mysql 空间查询_MYSQL空间查询函数
  10. 户外演出系统服务器,演艺灯光系统
  11. ibm x3850装oracle,Oracle数据库服务器:x3850 X5
  12. 51单片机之程序下载不进单片机
  13. 最新江苏安全员B考试单选练习题库
  14. Jsp显示应用外服务器的图片,jsp显示服务器的绝对路径图片
  15. matplotlib:使用子图实现简易象形图
  16. 新版标准日本语中级_第十一课
  17. 栈模拟递归 遍历二叉树的正确写法
  18. SaaS 软件开发为企业数字化转型赋能
  19. SOLIDWORKS快捷键167个小技巧
  20. wxPython的界面设计wxformbuilde初学笔记

热门文章

  1. 广州线下见面会,来了!
  2. popen 如何获取指令执行情况_php通过popen获取的一个命令的返回值如何分析出来...
  3. 开源 - WPF报表引擎
  4. HTML5:web socket 和 web worker
  5. CDN——到底用还是不用?
  6. MoveIt简单编程
  7. Java基础 - 集合
  8. 【iOS】打印方法名
  9. Charles proxy tools 移动开发调试
  10. 近期解决问题经历和感悟