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

      

  • 相关阅读:
    Kubernetes-一文详解ServiceAccount与RBAC权限控制
    删除无用的docker镜像与容器
    How do I write one to many query in Dapper.Net?
    c# 使用反射Reflection的Emit实现动态创建元数据及可执行文件
    IE浏览器下bootStrap form-control input输入框不显示兼容性问题
    WPF控件从一个窗口移动到另一个窗口,特别适合实时刷新的
    添加/扫描显示二维码中的换行之【另类视野】
    各浏览器官方离线版下载地址
    CentOS挂载NTFS
    System.Data.SQLite.Core for .NET 5 Core manual reference
  • 原文地址:https://www.cnblogs.com/zst062102/p/5496333.html
Copyright © 2011-2022 走看看