php pdo 参数绑定
* 数据表
-- MySQL dump 10.16 Distrib 10.1.31-MariaDB, for osx10.6 (i386)
--
-- Host: localhost Database: laravel
-- ------------------------------------------------------
-- Server version 10.1.31-MariaDB /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; --
-- Table structure for table `users`
-- DROP TABLE IF EXISTS `users`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`password` varchar(60) NOT NULL,
`remember_token` varchar(100) DEFAULT NULL,
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
UNIQUE KEY `users_email_unique` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; --
-- Dumping data for table `users`
-- LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES (1,'mingzhanghui','xxx@qq.com','123456',NULL,'2018-06-30 16:00:00','2018-07-12 16:00:00'),(2,'username#0','0@qq.com','123456','ed3d2c21991e3bef5e069713af9fa6ca','2018-07-21 09:28:37','2018-07-21 09:29:37'),(3,'username#1','1@qq.com','123456','3416a75f4cea9109507cacd8e2f2aefc','2018-07-21 09:28:37','2018-07-21 09:29:37'),(4,'username#2','2@qq.com','123456','43ec517d68b6edd3015b3edc9a11367b','2018-07-21 09:28:37','2018-07-21 09:29:37'),(5,'username#3','3@qq.com','123456','182be0c5cdcd5072bb1864cdee4d3d6e','2018-07-21 09:28:37','2018-07-21 09:29:37'),(6,'username#4','4@qq.com','123456','2a38a4a9316c49e5a833517c45d31070','2018-07-21 09:28:37','2018-07-21 09:29:37'),(7,'username#5','5@qq.com','123456','ac627ab1ccbdb62ec96e702f07f6425b','2018-07-21 09:28:37','2018-07-21 09:29:37'),(8,'username#6','6@qq.com','123456','2a38a4a9316c49e5a833517c45d31070','2018-07-21 09:28:37','2018-07-21 09:29:37'),(9,'username#7','7@qq.com','123456','f033ab37c30201f73f142449d037028d','2018-07-21 09:28:37','2018-07-21 09:29:37'),(10,'username#8','8@qq.com','123456','03afdbd66e7929b125f8597834fa83a4','2018-07-21 09:28:37','2018-07-21 09:29:37'),(11,'username#9','9@qq.com','123456','33e75ff09dd601bbe69f351039152189','2018-07-21 09:28:37','2018-07-21 09:29:37');
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump completed on 2018-07-22 12:07:18
users.sql
* php 代码片段
<?php $settings = [
'host' => '127.0.0.1',
'port'=> 3306,
'name' => 'laravel',
'username' => 'root',
'password' => '',
'charset' => 'utf8'
];
try {
$pdo = new PDO(
sprintf(
'mysql:host=%s;dbname=%s;port=%d;charset=%s',
$settings['host'],
$settings['name'],
$settings['port'],
$settings['charset']
),
$settings['username'],
$settings['password']
);
} catch (PDOException $e) {
echo "Database connection failed: ".$e->getMessage();
exit;
} // $sql = 'SELECT * from users where email=:email';
$sql = 'SELECT * from users where id < :id';
$statement = $pdo->prepare($sql); // $email = filter_input(INPUT_GET, 'email');
// $statement->bindValue(':email', '8@qq.com', PDO::PARAM_STR);
$statement->bindValue(':id', 8, PDO::PARAM_INT);
$statement->execute(); // while (($result = $statement->fetch(PDO::FETCH_ASSOC)) !== false) {
// echo $result['email'].PHP_EOL;
// }
while (($o = $statement->fetchObject()) !== false) {
echo $o->email.PHP_EOL;
} // transanction
// $pdo->beginTransaction();
// ...
// $pdo->commit();
* output
chenhuimingdeMacBook-Pro:database Mch$ php pdo.php
xxx@qq.com
0@qq.com
1@qq.com
2@qq.com
3@qq.com
4@qq.com
5@qq.com
php pdo 参数绑定的更多相关文章
- PHP - PDO 之 mysql 参数绑定
<?php /* pdo 学习 */ $dsn = 'mysql:host=localhost;dbname=cswl';//构建连接dsn $db = new pdo($dsn,'root', ...
- thinkphp 参数绑定
参数绑定是指绑定一个参数到预处理的SQL语句中的对应命名占位符或问号占位符指定的变量,并且可以提高SQL处理的效率,需要数据库驱动类的支持,目前只有PDO和Sqlsrv驱动支持参数绑定功能. 富瑞华大 ...
- 防sql注入之参数绑定 SQL Injection Attacks and Defense 预处理语句与存储过程
http://php.net/manual/zh/pdo.prepared-statements.php 预处理语句与存储过程 很多更成熟的数据库都支持预处理语句的概念.什么是预处理语句?可以把它看作 ...
- Spring MVC初始化参数绑定
初始化参数绑定与类型转换很类似,初始化绑定时,主要是参数类型 ---单日期 在处理器类中配置绑定方法 使用@InitBinder注解 在这里首先注册一个用户编辑器 参数一为目标类型 proper ...
- SpringMVC初始化参数绑定--日期格式
一.初始化参数绑定[一种日期格式] 配置步骤: ①:在applicationcontext.xml中只需要配置一个包扫描器即可 <!-- 包扫描器 --> <context:comp ...
- SpringMvc中初始化参数绑定
初始化参数绑定与类型转换很类似,初始化绑定时,主要是参数类型 ---单日期 在处理器类中配置绑定方法 使用@InitBinder注解 在这里首先注册一个用户编辑器 参数一为目标类型 proper ...
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
文章主要讲解request 数据到handler method 参数数据的绑定所用到的注解和什么情形下使用. 简介: handler method 参数绑定常用的注解,我们根据他们处理的Request ...
- spring 参数绑定
部分资料来源: @RequestParam @RequestBody @PathVariable 等参数绑定注解详解 spring学习之@ModelAttribute运用详解 Spring MVC @ ...
- springmvc的初始化参数绑定
一.springmvc的初始化参数绑定 此种和我们之前说的类型转换非常相似,可以看作是一种类型转换 在初始化参数绑定时 重要的是参数类型 -------------------单日期的绑定 二. 配 ...
随机推荐
- noip模拟44[我想我以后会碰见计数题就溜走的]
noip模拟44 solutions 这一场抱零的也忒多了,我也只有45pts 据说好像是把几套题里面最难的收拾出来让我们考得 好惨烈啊,这次的考试我只有第一题骗了40pts,其他都抱零了 T1 Em ...
- Django CBV装饰器 中间件 auth模块 CSRF跨站请求
CBV添加装饰器 给CBV添加装饰器有三种方法,三种方法都需要导入模块: from django.utils.decorators import method_decorator 第一种直接在方法上面 ...
- 题解 P3942 将军令
题解 首先看到这题 \(k=1\) 时,就是一道 小胖守皇宫,那么由 \(k=1\) 联想到 \(k=2...20\) 发现可以树形 \(DP\) 但转移方程太难想,不太适合考场做. 考虑贪心: 对所 ...
- HTTP协议之:HTTP/1.1和HTTP/2
目录 简介 HTTP/1.1 HTTP/2 传输模式对比 流优先级 缓冲区溢出处理 预测资源请求 压缩 总结 简介 HTTP的全称是Hypertext Transfer Protocol,是在1989 ...
- wpf Button 动态改变效果
<Button x:Name="LearnMore" Grid.Row="6" HorizontalAlignment="Left&quo ...
- 面向对象之编写驱动程序--中断(linux系统、s3c6410开发板)
/*------------------------- *先申明下,本人是个菜鸟,刚开始接触驱动程序编写,交代下开发环境(主机系统redhat6.3,开发板ARM-s3c6410) 以watchdog ...
- jQuery中的事件(八):on()、off()、bind()、unbind()、one()、hover()、hide()、show()、offset()等
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- 「萌新指南」SOA vs. 微服务:What’s the Difference?
实话实说,在我还没有实习之前,我是连 SOA 是啥都不知道的,只听说过微服务,毕竟微服务实在太火了,想不知道都难,我觉得实习的时候肯定也是微服务,进组之后发现是 SOA 架构,当时都懵了,看了很多文档 ...
- 🏆【JVM技术专区】「难点-核心-遗漏」TLAB内存分配+锁的碰撞(技术串烧)!
JVM内存分配及申请过程 当使用new关键字或者其他任何方式进行创建一个类的对象时,JVM虚拟机需要为该对象分配内存空间,而对象的大小在类加载完成后已经确定了,所以分配内存只需要在Java堆中划分出一 ...
- Linux查看英伟达GPU信息
命令: nvidia-smi 结果: