您的位置:首页 > 编程语言 > PHP开发

PHP——封装数据库的函数(增,删,改)2014.5.15的总结

2014-05-15 21:52 211 查看
[b]1:完整版的封装函数(增(insert),删(delete),改(update))[/b]

    例:<?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;

    }

}

?>

[b]2:strcasecmp:比较两个数谁大谁小和是否相等(计算法:二进制)[/b]

    例:strcasecmp("ab","ac")

        ac比ab大
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: