zoukankan      html  css  js  c++  java
  • 2014-05-15 总结

    封装函数(增,删,查,改)

    步骤:

    function 页面

         //编写数据库操作的魔术函数

          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;   

        }

    }

    test  页面

     <?php

           include("function2.php");

           $r = mysql_bind("select * from users where userName=? and password=?","pangpang","qqq");

           //$r = mysql_bind("insert into users(id,userName,password,nickName,userImg,status)values(?,?,?,?,?,?)","","3","3","3","3","2");

           //$r = mysql_bind("delete from users where userName=?","1");

          //$r = mysql_bind("update users set nickName=? where id=?","罗大胖","1");

         foreach($r as $row){    

            echo "用户:".$row['nickName']."<br/>";    

            echo "密码:".$row['password']."<br/>";

     }

    ?>

  • 相关阅读:
    CSU1090 数字转换问题[BFS+素数筛选]
    HDOJ2083 简易版之最短距离
    HOJ11525 Matchsticks
    HDOJ1058 Humble Numbers[DP]
    Sort函数进行升序和降序排列[#include <algorithm>]
    HDOJ1018 求N!的位数[斯特林公式处理阶乘及阶乘位数的问题]
    HDOJ1597 find the nth digit[一元二次方程求解]
    HOJ10641 Equidivisions [BFS]
    HOJ10814 Wooden Sticks[线性DP求最少不递增子序列+结构体排序]
    HOJ12363 Robots on a grid [DP+BFS()]
  • 原文地址:https://www.cnblogs.com/zouyajun/p/3730977.html
Copyright © 2011-2022 走看看