跟着百度学PHP[14]-PDO的预处理语句2

本文详细介绍了在PHP中使用PDO进行预处理语句的方法,包括如何使用问号和命名占位符进行参数绑定,以及如何通过execute方法批量执行SQL语句。通过实例展示了PDO在插入操作中的应用,使SQL执行变得更加简洁高效。

在$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的执行的更加的简单呢?

 

转载于:https://www.cnblogs.com/xishaonian/p/6430854.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值