zoukankan      html  css  js  c++  java
  • PDO讲解

    PDO的知识点标注在代码里

    <?php
       //造DSN:驱动名:dbname=数据库名;host=服务器地址
       $dsn="mysql:dbname=mydb;host=localhost";
       $pdo=new PDO($dsn,"root","");
       
       //写sql语句
       $sql="select * from info";
       
       
       //1.execu()执行增删改语句
       
       //2.query()执行查询语句
       //例子
       /*//执行sql语句
       $v=$pdo->query($sql);
       
       foreach($v as $a)
       {                  //返回的对象比较特殊,可以直接用循环遍历,尽量不要用
    	   echo $a[0];        
       }*/
       
       
       //3.预处理语句——prepare()和execute语句
       //预处理,先把sql语句放到服务器上等待我们给他指令去执行
       $stm=$pdo->prepare($sql);
       
       //execute()执行准备好的sql语句,成功返回true,失败返回false
       if($stm->execute())
       {
    	   //获取结果的方法      
    	                            //注意:各个获取结果的方法括号内可以写参数
    	   //1.取一条数据
    	   //var_dump($stm->fetch());
    	   
    	                            //fetch()和fetchALL()的参数相同
    	   
    	   //2.取所有
    	   //var_dump($stm->fetchAll(PDO::FETCH_ASSOC));//返回关联数组
    	   //var_dump($stm->fetchAll(PDO::FETCH_NOM));//返回索引数组
    	   //var_dump($stm->fetchAll(PDO::FETCH_OBJ));//返回对象数组
    	   
    	                             
    	   //3.取某一列
    	   //var_dump($stm->fetchColumn(1)); //以0开始索引
    	   
    	   //4.返回一条对象
    	   //var_dump($stm->fetchObject());
       }
       else
       {
    	   echo "连接失败";
       }
    

      

    以下代码为PDO参数绑定

    <?php
       //造对象
       $dsn="mysql:dbname=mydb;host=localhost";
       $pdo=new PDO($dsn,"root","");
       
       //写sql语句
       
       //$sql="insert into nation values (?,?)";   //语句1
       
       $sql="insert into nation values (:aa,:bb)";  //语句2
       
       //预处理
       $stm=$pdo->prepare($sql);
       
       //给参数绑定值
       
       //1.1:$sql语句里用?时,使用bindParam()添加  
       $stm->bindParam(1,$code);  //数字1代表占位符,$code代表添加的列名 
       $stm->bindParam(2,$name);
       $code="n009";     //修改此两处的值实现反复添加
       $name="犹太族";
       
       //1.2:$sql语句里用?时,使用索引数组添加
       $attr=array("n010","藏族");   //这种方法要把第一个参数写成索引形势,并且要把$attr放到execute($attr)内
       
       //2.1:$sql语句里用:aa时,使用bindParam()添加
       $stm->bindParam("aa",$code,PDO::PARAM_STR);
       $stm->bindParam("bb",$name,PDO::PARAM_STR);
       $code="n011";
       $name="巨人族";
       
       //2.2:$sql语句里用?时,使用关联数组
       $attr=array("aa"=>"n012","bb"=>"小人族");
       
       //执行
       if($stm->execute($attr))
       {
    	   echo "执行成功";
       }
       else
       {
    	   echo "执行失败";
       }
    

      

    练习:PDO添加表单

    前端页面

    <body>
    <h1>添加民族代号和名称</h1>
    <br />
    <form action="PDOtjchuli.php" method="post">
    民族代号:<input type="text" name="one"/><br />
    民族名称:<input type="text" name="two"/><br />
    <input type="submit" value="提交"/>
    </form>
    </body>
    </html>
    

      

    后台处理代码

    <?php
    $dsn="mysql:dbname=mydb;host=localhost";
    $pdo=new PDO($dsn,"root","");
    $sql="insert into nation values (:aa,:bb)";
    $result=$pdo->prepare($sql);
    
    $attr=array("aa"=>$_POST["one"],"bb"=>$_POST["two"]);
    
    if($result->execute($attr))
    {
    	echo "<script>alert('添加成功')</script>";
    }
    else
    {
    	echo "<script>alert('添加成功')</script>";
    }
    

      

  • 相关阅读:
    【读书笔记】【深入理解ES6】#13-用模块封装代码
    【读书笔记】【深入理解ES6】#12-代理(Proxy)和反射(Reflection)API
    【读书笔记】【深入理解ES6】#11-Promise与异步编程
    【读书笔记】【深入理解ES6】#10-改进的数组功能
    【读书笔记】【深入理解ES6】#9-JavaScript中的类
    【读书笔记】【深入理解ES6】#7-Set集合和Map集合
    【读书笔记】【深入理解ES6】#6-Symbol和Symbol属性
    关于maven打包文件不全的处理方式
    关于Dubbo的常用模型
    Dubbo源码本地运行demo遇到的问题
  • 原文地址:https://www.cnblogs.com/zst062102/p/5496333.html
Copyright © 2011-2022 走看看