在$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语句执行成功。"; ?>

输出效果如下图:

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

我们可以这样:

$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语句执行成功。"; ?>

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

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

跟着百度学PHP[14]-PDO的预处理语句2的更多相关文章

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

    预处理语句有以下两个特点: 1.效率高 2.安全性好 为什么说预处理语句效率高呢? 预处理语句就好比一个模板,比如下面的一串插入语句: insert into admin(id,username,pa ...

  2. 跟着百度学PHP[14]-PDO之Mysql的事务处理2

    前面所将仅仅是在纯mysql下的讲解,这节就是要将其搬到PDO台面上来了. 将自动提交关闭. SetAttribute下有一个PDO::ATTR_AUTOCOMMIT 将其设置为0即可关闭,如:$pd ...

  3. 跟着百度学PHP[14]-PDO的错误处理模式&PDO执行SQL

    我们在使用PDO去执行sql语句的时候并不会报错.如下案例所示: <?php try { //$pdo = new pdo("mysql:host=主机;port=端口;dbname= ...

  4. 跟着百度学PHP[14]-PDO之Mysql的事务处理1

    事务处理:在实际案例当中干一件事的mysql语句(好比转账,小一同学转账100,小二同学收账,在mysql当中小一就要减去转账的钱,小二就要增加100快)倘若该语句执行过程中有任何一条的sql语句出错 ...

  5. 跟着百度学PHP[14]-初识PDO数据库抽象层

    目录: 00x1 php中的pdo是什么? 00x2 pdo创建一个PDO对象 00x1 php中的pdo是什么? 就是操作数据库的方法,pdo就是把操作数据库的函数封装成一个pdo类,其间做了安全验 ...

  6. 跟着百度学PHP[14]-COOKIE的应用/网站登陆案例完整案例

    先在数据库当中创建以下数据: mysql> create table user( -> id int not null auto_increment, ) not null default ...

  7. 跟着百度学PHP[14]-PDO-优化驱动

    使用方法设置预定义变量 PDO的方法/属性 PDO::beginTransaction — Initiates a transaction PDO::commit — Commits a transa ...

  8. PDO prepare预处理语句

    预处理语句 $dsn="mysql:host=localhost;dbname=emp"; try{ $pdo=new PDO($dsn,'root','root'); }catc ...

  9. 跟着百度学PHP[17]-复习PDO的几个关键词

    主要就是复习一下几个关键词.发现太久没有写又忘了.惭愧. final self static const

随机推荐

  1. iOS:自动读取图片插件KSImageNamed-Xcode-master的使用

    gitHub链接:https://github.com/ksuther/KSImageNamed-Xcode   KSImageNamed-Xcode是一个Xcode插件,可以帮助开发者在Xcode中 ...

  2. iOS:quartz2D绘图(给图形绘制阴影)

    quartz2D既可以绘制原始图形,也可以给原始图形绘制阴影. 绘制阴影时,需要的一些参数:上下文.阴影偏移量.阴影模糊系数 注意:在drawRect:方法中同时调用绘制同一个图形时,在对绘制的图形做 ...

  3. mysql 数据库缓存调优之解决The total number of locks exceeds the lock table size错误

    环境: mysql5.6.2  主从同步(备注:需操作主库和从库) 一.InnoDB表执行大批量数据的更新,插入,删除操作时会出现这个问题,需要调整InnoDB全局的innodb_buffer_poo ...

  4. OpenCV中的矩阵和图像类型

    任务刚刚做完,就迫不及待的来写写在OpenCV中常见的几类数据类型: 在使用OpenCV时我们时常会碰到IplImage这个数据类型,IplImage就是我们通常说的“图像”进行编码的基本结构,这些图 ...

  5. STL源码剖析(容器适配器)

    在STL中,有一类容器完全以底部容器为基础进行实现,这类容器归类为container adapter. priority_queue priority_queue默认使用vector为基础,加上hea ...

  6. Drupal与其它开源系统的整合

    网上看到一篇介绍Drupal与phpbb整合的文章.浏览了一下,真心地不错.于是就想将与整合有关的文章做一个汇总,以备不时之需: Drupal7整合PHPBB论坛 Drupal 7 整合 Vanill ...

  7. Android 6.0 超级简单的权限申请 (Permission)

    代码地址如下:http://www.demodashi.com/demo/13369.html 背景描述 随着Android系统的不断升级,谷歌对用户的隐私是越来越注重了,给我们开发者带来了更多的繁琐 ...

  8. C语言-常用知识和技巧

    1. char string[MAXSIZE], *tmp = string; 2."&&", "||", "?:", &q ...

  9. Android实现换肤功能(二)

    前两天写的上章关于换肤的功能获得了很好的反响,今天为大家介绍另一种方式.今天实现的策略也是网友建议的,然后我自己去写了个demo,大家自己评估下相比第一种方式的优势和劣势在哪里. 简单介绍下关于第一种 ...

  10. windows中修改catalina.sh上传到linux执行报错This file is needed to run this program解决

    windows中修改catalina.sh上传到linux执行报错This file is needed to run this program解决 一.发现问题 由于tomcat内存溢出,在wind ...