博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2014-05-15 总结
阅读量:5050 次
发布时间:2019-06-12

本文共 1913 字,大约阅读时间需要 6 分钟。

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

步骤:

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/>";

 }

?>

 

 

转载于:https://www.cnblogs.com/zouyajun/p/3730977.html

你可能感兴趣的文章
找出给定字符串中出现最多的字符和次数
查看>>
IPTV中的EPG前端优化
查看>>
C 字符串操作函数
查看>>
Makefile文件的使用
查看>>
接口测试工具-Jmeter使用笔记(一:运行一个HTTP请求)
查看>>
《BI那点儿事》数据流转换——逆透视转换
查看>>
JVM GC之垃圾收集算法
查看>>
Mybatis源码学习之资源加载(六)
查看>>
第一次配置react native
查看>>
5种常用的相关分析方法
查看>>
Mine Glass 原型
查看>>
Spark是什么
查看>>
K-mean matlab 实现代码
查看>>
登陆功能的实现
查看>>
8.Python爬虫实战一之爬取糗事百科段子
查看>>
延迟反应帮助他们避免了一些冲动消费有钱人喜欢讨价还价
查看>>
rsync+inotifywait
查看>>
C#中的线程(一)入门
查看>>
模板渲染引擎
查看>>
sql server2000 多用户操作数据表的问题(转)
查看>>