zoukankan      html  css  js  c++  java
  • 跟着百度学PHP[14]-PDO的预处理语句2

    在$sql = $pdo -> prepare("insert into users(gold,user,password) values(?,?,?)");条语句我们不仅仅可以使用问号这个替代符之外还可以使用

    :名称

    也就是

    $sql = $pdo -> prepare("insert into users(gold,user,password) values(:gold,:user,:password)");

    所以在写绑定变量(bindparam)的时候可以那么写:

        $sql = $pdo ->prepare("insert into users(gold,user,password) values(:gold,:users,:password)");
    $sql ->bindparam(:gold,$gold);//绑定给$gold变量。第一个参数的冒号可去除。 $sql ->bindparam(:user,$users); $sql ->bindparam(:password,$password) $gold = 12; $users ="aaaaaaa"; $password = "bbbbbbbbb";

    使用问号的时候可以相当于索引数组,最大的麻烦就是必须要有数字,每次都需要有数字,在重新插入的时候就很麻烦。

    但是我们可以那么做,直接在execute中输出这些数组。

    比如问号的时候(即索引数组):

    $sql -> execute(array(1,"admin","123465"));

    再者冒号的时候(即关联数组):

    $sql -> execute(array(":gold"=>"1",":user"=>"admin",":password"=>"123456"));

    DEMO: 

    <?php 
    try{
        $pdo = new pdo("mysql:host=localhost;dbname=test","root","");
    }catch(PDOException $e){
        echo $e ->getmessage();
        exit;
    }
        echo "PDO对象创建成功.<br />";
    try {
        $sql = $pdo ->prepare("insert into users(gold,user,password) values(:gold,:user,:password)");
        $sql -> execute(array(":gold"=>"1","user"=>"admin",":password"=>"123456"));
    
    } catch (Exception $e) {
        echo $e->getmessage();
        exit;
    }
        echo "sql语句执行成功。";
    
     ?>
    View Code

    输出效果如下图:

    但其实这些都还不是最简单的。

    我们可以这样:

    $sql -> execute(array($_GET['id']));

    CODE: 

    <?php 
    header("Content-type: text/html; charset=utf-8");
    try{
        $pdo = new pdo("mysql:host=localhost;dbname=test","root","");
    }catch(PDOException $e){
        echo $e ->getmessage();
        exit;
    }
        echo "PDO对象创建成功.<br />";
    try {
        $sql = $pdo ->prepare("insert into users(gold,user,password) values(:gold,:user,:password)");
        $sql -> execute($_GET);
    } catch (PDOException $e) {
        echo $e->getmessage();
        exit;
    }
        echo "sql语句执行成功。";
    
     ?>
    View Code

    URL:http://127.0.0.1/x.php?gold=2&user=def&password=6666

    如此是不是比之前mysql的执行的更加的简单呢?

  • 相关阅读:
    Tornado输出和响应头
    sqlalchemy 学习(二)scoped session
    04:sqlalchemy操作数据库 不错
    sqlalchemy(二)高级用法
    红黑树
    Minimum Window Substring
    Max Points on a Line
    分治算法
    Maximum Subarray
    Word Break
  • 原文地址:https://www.cnblogs.com/xishaonian/p/6430854.html
Copyright © 2011-2022 走看看