• PDO访问数据库


    PDO(PHP Data Objects)是一种在PHP里连接数据库的使用接口。

    PDO与mysqli曾经被建议用来取代原本PHP在用的mysql相关函数,

    基于数据库使用的安全性,因为后者欠缺对于SQL资料隐码的防护。

    一、PDO连接数据库:

    1.造DSN,定义数据源:  驱动名:dbname=数据库名;host=服务器地址

    $dsn="mysql:dbname=mydb;host=localhost";

    2.造PDO对象:

    $pdo=new PDO($dsn."root","");

    3.写SQL语句:
    $sql="select * from Info";

    4.执行SQL语句:
      4.1 用query(),这种不常用,仅作了解。

        $v=$pdo->query($sql);

            //返回的对象比较特殊,可以直接用循环遍历:
              foreach ($v as $a)

        {

          echo $a[0];

        }

      4.2  预处理,先把SQL语句放到服务器上等待我们给它指令去执行

      //准备一条SQL语句:

      $stm=$po->prepare($sql);

      //执行准备好的SQL语句,成功返回true,失败返回false

      if($stm->execute())

      {

        //输出方式:

        //1.逐行取数据:

        $stm->fetch();

         里面可以写参数

           //var_dump($stm->fetch(PDO::FETCH_ASSOC));//关联数组
           //var_dump($stm->fetch(PDO::FETCH_BOTH));//都有
           //var_dump($stm->fetch(PDO::FETCH_NUM));//索引数组

        //2.取所有的数据,里面也可以写参数,同上:

        $stm->fetchAll();

        //3.取某一列,括号里面是索引:

        $stm->fetchcolumn(1);

        //4.返回对象:

        $stm->fetchObject();

        }

      else

      {

        echo "执行失败!";

        }

    二、修改SQL语句,添加数据:

      $dsn="mysql:dbname=mydb;host=localhost";
      $pdo=new PDO($dsn,"root","");

    1.方法一:直接使用添加的SQL语句
      $sql="insert into nation values ('p0001','张三')";
      $stm=$pdo->prepare($sql);
      if($stm->execute())
      {
        echo "执行成功";
      }
      else
      {
        echo "执行失败";
      }

    2.方法二:用?来代替参数,然后给参数绑定值(方法有些麻烦,一般不用)

      //用?来代替:

      $sql="insert into nation values (?,?)";

      $stm=$pdo->prepare($sql);

      //给参数绑定值:

      绑定值方法一:索引数组

      $stm->bindParam(1,$code);
      $stm->bindParam(2,$name);
      $code = "p100";
      $name = "回家";

      绑定值方法二:关联数组

      $stm->bindParam("code",$code,PDO::PARAM_STR);
      $stm->bindParam("name",$name,PDO::PARAM_STR);
      $code = "p102";
      $name = "回家";

      if($stm->execute())
      {
        echo "执行成功";
      }
      else
      {
        echo "执行失败";
      }

    3.方法三:数组方式

      $sql = "insert into Nation values(:code,:name)";

      $stm=$pdo->prepare($sql);

      //用数组方式来添加数值:

      方式一:索引数组

      $attr  = array("p101","很快");

      方式二:关联数组

      $attr  = array("code"=>"p103","name"=>"shj");

      if($stm->execute($attr))
      {
        echo "添加成功";
      }
      else
      {
        echo "添加失败";
      }

    4.方式四:$_POST,用表单的方式。

      //可另建一个页面建个表单

      <form action="test1.php" method="post">
      <input type="text" name="code" />
      <input type="text" name="name" />
      <input type="submit" value="添加" />

      </form>

    $dsn="mysql:dbname=mydb;host=localhost";

      $pdo=new PDO($dsn,"root","");

      $sql = "insert into Nation values(:code,:name)";

      $stm=$pdo->prepare($sql);

      if($stm->execute($_POST))
      {
        echo "添加成功";
      }
      else
      {
        echo "添加失败";
      }

  • 相关阅读:
    Spring URL重写
    DOUBLE精度问题
    激光推送一
    log4j打印debug日志问题
    dpkg:处理 xxx (--configure)时出错解决办法,也可用于卸载软件出错的情况
    Ubuntu中配置tomcat
    Ubuntu16.04安装Eclipse
    删除mysql数据库后django重建数据库
    MySQL修改root密码
    django1.9和mysql
  • 原文地址:https://www.cnblogs.com/HYL1003597280/p/6490927.html
Copyright © 2020-2023  润新知