pdo预处理案例

蔚落 2022-08-21 12:52 211阅读 0赞

pdo防止sql注入预处理

1.查询

  1. public function dologin2(){
  2. $dsn = "mysql:host=127.0.0.1;dbname=php7";//pdo 连接方法
  3. $db = new PDO($dsn, 'root', 'root',array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8"));
  4. $name=$_POST['name'];//$name="zhangsan' or 'a' ='a"
  5. $pwd=$_POST['pwd'];
  6. /*
  7. $count = $db->exec("insert into pdo1(name,pwd) value('$name','$pwd')");
  8. echo $count;
  9. */
  10. $sql="SELECT * FROM pdo1 where name='$name' and pwd='$pwd'";
  11. $sql="select * from pdo1 where name = ? and pwd = ?";
  12. $stmt = $db->prepare($sql);
  13. $exeres = $stmt->execute(array($name,$pwd));
  14. if ($exeres) {
  15. while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
  16. setcookie('name',$name);
  17. redirect("welcome/asdf");
  18. }
  19. }
  20. }

2.添加

  1. <?php
  2. header("content-type:text/html;charset=utf-8");
  3. $ch = curl_init();
  4. $url ='http://apis.baidu.com/apistore/iplookupservice/iplookup?ip=117.89.65.68';
  5. $header = array(
  6. 'apikey: 10d4752cc594de7808c253fccd754832',
  7. );
  8. curl_setopt($ch, CURLOPT_HTTPHEADER , $header);
  9. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  10. curl_setopt($ch , CURLOPT_URL , $url);
  11. $res = curl_exec($ch);
  12. $arr=json_decode($res,true);
  13. //print_r($json);die;
  14. $dsn = "mysql:host=localhost;dbname=php7";
  15. $pdo=new PDO($dsn,'root','root',array(PDO::MYSQL_ATTR_INIT_COMMAND=>'set names utf8'));
  16. $stmt=$pdo->prepare("insert into day15(ip,country,city,district,carrier,province)values(:ip,:co,:ci,:di,:ca,:pr)");
  17. $stmt->bindparam("ip",$arr['retData']['ip']);
  18. $stmt->bindparam("co",$arr['retData']['country']);
  19. $stmt->bindparam("ci",$arr['retData']['city']);
  20. $stmt->bindparam("di",$arr['retData']['district']);
  21. $stmt->bindparam("ca",$arr['retData']['carrier']);
  22. $stmt->bindparam("pr",$arr['retData']['province']);
  23. if($stmt->execute()){
  24. echo "执行成功";
  25. echo "最后插入的ID:".$pdo->lastInsertId();
  26. }else{
  27. echo "执行失败";
  28. }
  29. ?>

发表评论

表情:
评论列表 (有 0 条评论,211人围观)

还没有评论,来说两句吧...

相关阅读

    相关 php之预处理(msqli和PDO

    哎,身为一个穷逼,以前自学在网上找的好几年前的视频,学的mysql,可惜现在已经不适用了,现在更新一下基础知识,本节介绍一个同mysqli中的面向对象和面向过程以及PDO预处理

    相关 PDO

    PDO:PHP Data Object      PHP 数据对象     数据库操作的抽象, 连接不同数据库只需一套接口即可。     使用时只需指定数据库类型即可,方