网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > PHP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.PHP编实现程动态图像的创建.
.PHP程序员一般都忽略了的几点精华.
.PHP分析.wav文件并绘制png格式的.
.用PHP实现多级树型菜单.
.基于PHP的AJAX技术实现文件异步上.
.PHP身份验证方面的函数.
.PHP PEAR简介.
.PHP强制对象类型之instanceof操作.
.一个简单的模板类--编译型的(sim.
.在WIN98下安装PHP4+ PERSONAL OR.
.40个迹象表明你还是PHP菜鸟.
.PHP创建(中/英文字)图片.
.用php和MySql来与ODBC数据连接.
.NT IIS下用ODBC连接数据库.
.php用流方式制作缩略图.
.通过包含文件来组织项目.
.PHP中常用的函数库和一些小技巧.
.zend_db连接mysql(附完整代码).
.PHP反射机制实现动态代理的代码.
.用PHP的Socket实现HTTP请求.

PDO的使用

发表日期:2008-12-21


//首先要连接mysql数据库
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
//如果你想连mssql:
//mssql:host=localhost;dbname=testdb
//连pgsql:
//pgsql:host=localhost port=5432 dbname=testdb user=bruce password=mypass
//连odbc(DSN)
//odbc:testdb
//连access:
//odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\db.mdb;Uid=Admin
//还有oracle,sqlite,db2....

//执行个查询
foreach ($dbh->query('SELECT * from FOO') as $row) {
    print_r($row); //这个结果和mysql_fetch_array差不多。PDOStatement::setFetchMode 可以调整。
}

//另外还可以:
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

//将整个记录集读到数组里:
$result = $sth->fetchAll();
print_r($result);
//输出:
Array
(
[0] => Array
       (
         [NAME] => pear
         [0] => pear
         [COLOUR] => green
         [1] => green
       )

[1] => Array
       (
         [NAME] => watermelon
         [0] => watermelon
         [COLOUR] => pink
         [1] => pink
       )

)

//插入 / 删 / 更新数据:
$count = $dbh->exec("DELETE FROM fruit WHERE colour = 'red'");
//$count就是删除的条数。相当于mysql_affected_rows
//也可用PDOStatement::rowCount

//偶忘了偶用啥数据库了。。。。
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
   echo "Running on mysql; doing something mysql specific here\n";
}

//原来插入数据的时候要用mysql_escape_string,现在?
print "Unquoted string: $string\n";
print "Quoted string: " . $conn->quote($string) . "\n";
//得到:
Unquoted string: Nice
Quoted string: 'Nice'
//你看现在连引号都自动加了。。。。
//注意在不同的数据库中结果不同,比如有的' => '',有的' => \',\ => \\
//现在没顾虑了,全自动。

//最后偶要关闭它了
$conn = null;
//但是!你可以保持连接:
$dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2',
    array(PDO_ATTR_PERSISTENT => true));

//很简单的不是?

附:特别简单的特殊调用方法:
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
if ($stmt->execute(array($_GET['name']))) { //你怕啥?自动quote!
   while ($row = $stmt->fetch()) {
print_r($row);
   }
}

也可以:
$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

这么好的功能,哪里可以找到?php5.1以上在扩展里,php5在pecl里,php4?你别想了,没有。

上一篇:创建XMLHttpRequest对象的方法 人气:61
下一篇:简单实用的php缓存函数 人气:61
浏览全部PDO的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐