<?php
//预准备prepare********************
//连接的信息
$dsn = 'mysql:host=127.0.0.1;dbname=stu';
$username = 'root';
$password = '';
try {
//连接数据库
//如果连接出错那么会抛出异常,然后就会被catch接到
$pdo = new PDO($dsn,$username,$password);
//设置下面的语句都为异常错误,这样才能被try catch接收
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
//发送字符集
$pdo->query("SET NAMES UTF8");
//实现预准备
//功能1->防SQL注入:SQL和用户输入的信息如果一起解析有可能会出现安全问题,那么解决的方案:就是先解析sql,然后再绑定参数,这样就可以分离了
//功能2->执行速度更快:如果执行100万条数据变的只有id,那么之前的方式会解析100万次sql,如果采用预准备,那么只需要解析一次,所以预准备更快
$st = $pdo->prepare('SELECT * FROM stu WHERE id=? AND sex=?');
//用户的参数
$id = 0;
$sex = 0;
//绑定参数
$st->bindParam(1,$id,PDO::PARAM_INT);
$st->bindParam(2,$sex,PDO::PARAM_INT);
//执行
$st->execute();
//获得结果
$data = $st->fetchAll(PDO::FETCH_ASSOC);
echo "<pre>";
print_r($data);
echo "</pre>";
} catch (PDOException $e) {
//catch里面捕获PDO的异常错误
echo '<span style="color:red">' . $e->getMessage() . '</span>';
exit;
}
MySQL预准备
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- MySQL的预编译是指在创建数据库对象时就将指定的SQL语句编译完成,这时SQL语句已经被MySQL解析、审查,所...
- Python 2.7IDE Pycharm 5.0.3MySQL 5.7MySQL Workbench 6.3 前...
- 像这种查询语句,整个查询(包括sql语法和具体的值)都会作为一个长字符串发送到mysql,然后mysql分析并且执...