跟着百度学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语句执行成功。"; ?>
输出效果如下图:

但其实这些都还不是最简单的。
我们可以这样:
$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的更多相关文章
- 跟着百度学PHP[14]-PDO的预处理语句1
预处理语句有以下两个特点: 1.效率高 2.安全性好 为什么说预处理语句效率高呢? 预处理语句就好比一个模板,比如下面的一串插入语句: insert into admin(id,username,pa ...
- 跟着百度学PHP[14]-PDO之Mysql的事务处理2
前面所将仅仅是在纯mysql下的讲解,这节就是要将其搬到PDO台面上来了. 将自动提交关闭. SetAttribute下有一个PDO::ATTR_AUTOCOMMIT 将其设置为0即可关闭,如:$pd ...
- 跟着百度学PHP[14]-PDO的错误处理模式&PDO执行SQL
我们在使用PDO去执行sql语句的时候并不会报错.如下案例所示: <?php try { //$pdo = new pdo("mysql:host=主机;port=端口;dbname= ...
- 跟着百度学PHP[14]-PDO之Mysql的事务处理1
事务处理:在实际案例当中干一件事的mysql语句(好比转账,小一同学转账100,小二同学收账,在mysql当中小一就要减去转账的钱,小二就要增加100快)倘若该语句执行过程中有任何一条的sql语句出错 ...
- 跟着百度学PHP[14]-初识PDO数据库抽象层
目录: 00x1 php中的pdo是什么? 00x2 pdo创建一个PDO对象 00x1 php中的pdo是什么? 就是操作数据库的方法,pdo就是把操作数据库的函数封装成一个pdo类,其间做了安全验 ...
- 跟着百度学PHP[14]-COOKIE的应用/网站登陆案例完整案例
先在数据库当中创建以下数据: mysql> create table user( -> id int not null auto_increment, ) not null default ...
- 跟着百度学PHP[14]-PDO-优化驱动
使用方法设置预定义变量 PDO的方法/属性 PDO::beginTransaction — Initiates a transaction PDO::commit — Commits a transa ...
- PDO prepare预处理语句
预处理语句 $dsn="mysql:host=localhost;dbname=emp"; try{ $pdo=new PDO($dsn,'root','root'); }catc ...
- 跟着百度学PHP[17]-复习PDO的几个关键词
主要就是复习一下几个关键词.发现太久没有写又忘了.惭愧. final self static const
随机推荐
- Docker创建centos的LNMP镜像
前段时间重装了系统,今天刚好有时间,就用docker安装一个lnmp开发环境,下面是我的安装笔记. 1. 安装docker 这个就不说了,不会的可以看下我之前的文章<Docker介绍及安装> ...
- POJ 1275-Cashier Employment(差分约束系统)
题目地址:id=1275">POJ 1275 题意: 给出一个超市24小时各须要R[i]个雇员工作,有N个雇员能够雇佣.他们開始工作时间分别为A[i],求须要的最少的雇员人数. 思路: ...
- Spring框架学习(1)Spring简介
内容源自:Spring 框架简介 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序 ...
- TCP的状态(SYN,FIN等)
TCP的标志位有SYN,FIN,RST,ACK,PSH,URG SYN:建立连接. FIN:关闭连接. RST:连接重置. ACK:响应. PSH:有数据传输. URG:urgent紧急. ACK可以 ...
- [HTML5] Build Flexible HTML with HTMLTemplates using Slots and Web Components
HTMLTemplates are part of the web components specification. In this lesson we will learn what are HT ...
- java线程总结(1/5)
前言 闲来无事正值面试,看面试中有线程之问题,特此总结一番. 正文 一.线程和进程的区别:1.每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销.2.线程可以看成时轻量级的进程 ...
- 算法笔记_071:SPFA算法简单介绍(Java)
目录 1 问题描述 2 解决方案 2.1 具体编码 1 问题描述 何为spfa(Shortest Path Faster Algorithm)算法? spfa算法功能:给定一个加权连通图,选取一个 ...
- C++ STL中Map的按Key排序
为了实现快速查找,map内部本身就是按序存储的(比如红黑树).在我们插入<key, value>键值对时,就会按照key的大小顺序进行存储.这也是作为key的类型必须能够进行<运算比 ...
- Php如何返回json数据
php返回json,xml,JSONP等格式的数据 返回json数据: header('Content-Type:application/json; charset=utf-8'); $arr = a ...
- hibernate查询排序
hibernate提供了两种排序方式:1:数据库排序,也就是说通过SQL语句在数据库内部就进行完了排序.2.内存排序,也就是说在数据库中把数据加载到内存中后在进行排序.推荐使用第一种排序方式,因为在数 ...