PHP中PDO DEMO
PDO =》 PHP DATABASE OBJECT
1、Select
$dsn = "mysql:host=127.0.0.1;port=3306;dbname=dbname";
$dbh = new PDO($dsn, 'root', 'password');
$sql = "select * from table_name where NAME = :name AND PWD = :pwd";
$sth = $dbh->prepare($sql);
$sth ->bindValue(':name', 'user');
$sth ->bindValue(':pwd', 'password');
$sth-> execute();
foreach($sth as $row) {
echo var_dump($row);
}
$dbh = null;
$dsn = "mysql:host=127.0.0.1;port=3306;dbname=dbname";
$dbh = new PDO($dsn, 'root', 'password');
$sql = "select * from table_name where NAME = ?AND PWD = ?";
$sth = $dbh->prepare($sql);
$sth ->bindValue(1, 'user');
$sth ->bindValue(2, 'password');
$sth-> execute();
foreach($sth as $row) {
echo var_dump($row);
} $dbh = null;
2、UPDATE
$dsn = "mysql:host=127.0.0.1;port=3306;dbname=dbname";
$dbh = new PDO($dsn, 'root', 'password');
$sql = "update table_name set name = :name where id = :id";
$sth = $dbh->prepare($sql);
$sth ->bindValue(':name', 'user');
$sth ->bindValue(':id', '1');
$flag = $sth-> execute(); // true or false
$dbh = null;
$dsn = "mysql:host=127.0.0.1;port=3306;dbname=dbname";
$dbh = new PDO($dsn, 'root', 'password');
$sql = "update table_name set name = ? where id = ?";
$sth = $dbh->prepare($sql);
$sth ->bindValue(1, 'user');
$sth ->bindValue(2, '1');
$flag = $sth-> execute(); // true or false
$dbh = null;
3、Insert
$dsn = "mysql:host=127.0.0.1;port=3306;dbname=dbname";
$dbh = new PDO($dsn, 'root', 'password');
$sql = "insert into table_name (name) values (:name)";
$sth = $dbh->prepare($sql);
$sth ->bindValue(':name', 'user');
$flag = $sth-> execute(); // true or false
$dbh = null;
$dsn = "mysql:host=127.0.0.1;port=3306;dbname=dbname";
$dbh = new PDO($dsn, 'root', 'password');
$sql = "insert into table_name (name) values (?)";
$sth = $dbh->prepare($sql);
$sth ->bindValue(1, 'user');
$flag = $sth-> execute(); // true or false
$dbh = null;
4、Delete
$dsn = "mysql:host=127.0.0.1;port=3306;dbname=dbname";
$dbh = new PDO($dsn, 'root', 'password');
$sql = "delete from table_name where id = :id";
$sth = $dbh->prepare($sql);
$sth ->bindValue(':id', '1');
$flag = $sth-> execute(); // true or false
$dbh = null;
$dsn = "mysql:host=127.0.0.1;port=3306;dbname=dbname";
$dbh = new PDO($dsn, 'root', 'password');
$sql = "delete from table_name where id = ?";
$sth = $dbh->prepare($sql);
$sth ->bindValue(1, '1');
$flag = $sth-> execute(); // true or false
$dbh = null;
每一部分的第二段代码都是用?和数字索引的方式来绑定参数,有的人可能不是很理解这些后绑定跟直接生成sql语句之后去执行有什么差别,其实不难理解。
假设你输入:
select * from table_name where id = ?
问号的部分如果直接动态生成就可能变成这样
select * from table_name where id = 1 or 1=1
而如果动态绑定的话,问号部分就被限制只能输入一个跟id字段类型相符合的变量,如果有sql注入就会编译不过
PHP中PDO DEMO的更多相关文章
- PHP5中PDO的简单使用
PHP5中PDO的简单使用 标签: php数据库mysql扩展extensionexception 2012-05-06 10:27 27753人阅读 评论(0) 收藏 举报 分类: PHP(6) ...
- github在README中展示demo
2017年更新,现在github再master分支直接就可以操作,所以我改了这篇文章 问题所在? 解决办法? 博主建议? 一:问题的所在 相信很多小胖友们在把自己的网页上传到github仓库中,都 ...
- PHP中PDO关闭连接的问题
在之前我们手写 mysql 的连接操作时,一般都会使用 mysql_close() 来进行关闭数据库连接的操作.不过在现代化的开发中,一般使用框架都会让我们忽视了底层的这些封装,而且大部分框架都已经默 ...
- PHP中PDO事务的使用方法
事务 (Transaction) 是操作数据库中很重要的一个功能, 它可以让你预定一条, 或者一系列 SQL 语句, 然后一起执行. 在执行的过程中, 如果其中的某条执行失败, 可以回滚所有已更改的操 ...
- PHP中PDO的配置与说明
住[PDO是啥] PDO是PHP5新加入的一个重大功能,因为在PHP5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么php_mysql.dll.php_pgsql.dll ...
- PHP中PDO错误/异常(PDOException)处理
PDO 提供了三种不同的错误处理模式,以满足不同风格的应用开发: PDO::ERRMODE_SILENT 此为默认模式. PDO 将只简单地设置错误码,可使用 PDO::errorCode() 和 P ...
- PHP5中PDO的入门教程
PDO(PHP Data Object) 是PHP 5新出来的东西,在PHP 5.5中,更是强烈推荐使用PDO来处理数据库,将把所有的数据库扩展移到了PECL,那么默认就是没有了我们喜爱的php_my ...
- python之demo1----改编自turtle.py文件中的demo
""" 改编自turtle.py自带demo 执行 python -m turtledemo 命令查看系统内置demo的源码 绘制:需要通过import turtle引入 ...
- Github中展示demo
原文链接http://www.jianshu.com/p/75e30889e70a 第一步:找到Settings,点击 第二步:找到githubPages点击none,切换到master branch ...
随机推荐
- 武汉科技大学ACM :1001: A + B Problem
Problem Description Calculate A + B. Input Each line will contain two integers A and B. Process to e ...
- Mysql启动失败 MYSQL:The server quit without updating PID file
MySQL5.6启动时出错 提示MYSQL:The server quit without updating PID file 首先执行 /bin/mysqld_safe --user=mysql & ...
- em与px的区别 [ 转 ]
其实,还是不大理解,为什么1em=16px:而且,还一般要在body里面,就写清楚Fone-size=62.5%,然后再让1em=10px进行使用:那么,为什么不直接在当时定义em的时候,就直接让它等 ...
- angular+bootstrap分页指令案例
AngularJS中不仅内置了许多指令,而且开发人员也可以通过自定义指令来完成特殊操作,指令创建成功后可以到处复用. Web应用中的分页处理最为常见,我们可以将分页模块编写成一个可以复用的Angula ...
- android slidingview
http://blog.csdn.net/sky181772733/article/details/6969810 http://blog.csdn.net/ithomer/article/detai ...
- cf C. Fixing Typos
http://codeforces.com/contest/363/problem/C s2用于存处理之后的字符串,再遍历s1的时候,s2会有两种情况1.s2最后两个字符是相同的如xx,如果这时再遇到 ...
- to_char函数引发的不走索引
SQL> conn cowork_czsh/cowork_czsh Connected. SQL> set linesize 200 SQL> set pagesize 200 SQ ...
- Raid1源代码分析--开篇总述
前段时间由于一些事情耽搁了,最近将raid1方面的各流程整理了一遍.网上和书上,能找到关于MD下的raid1的文档资料比较少.决定开始写一个系列的关于raid1的博客,之前写过的一篇读流程也会在之后加 ...
- Spring事务管理器分类
Spring并不直接管理事务,事实上,它是提供事务的多方选择.你能委托事务的职责给一个特定的平台实现,比如用JTA或者是别的持久机制.Spring的事务管理器可以用下表表示: 事务管理器的实例 目标 ...
- 第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter
第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter 1.BaseAdapter BaseAdapter是Android应用程序中经常用到的基础数据适配器,它的 ...