• About_php_封装函数


     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;

  • 相关阅读:
    js数组去重
    js和jq实现全选反选
    js的作用域深入理解
    js对数组的常用操作
    如何写出让java虚拟机发生内存溢出异常OutOfMemoryError的代码
    JAVA编程思想(第四版)学习笔记----4.8 switch(知识点已更新)
    通过拦截器Interceptor实现Spring MVC中Controller接口访问信息的记录
    JAVA编程思想(第四版)学习笔记----11.10 Map
    JAVA中的for-each循环与迭代
    JAVA编程思想(第四版)学习笔记----11.5 List,11.6迭代器
  • 原文地址:https://www.cnblogs.com/a-moemiss/p/3730982.html
Copyright © 2020-2023  润新知