文档章节

PDO 函数库

deadmau5
 deadmau5
发布于 2014/06/04 10:37
字数 572
阅读 29
收藏 0
$dbms    = 'mysql';     //数据库类型 Oracle 用ODI,对于开发者来说,使用不同的数据库,只要改这个,不用记住那么多的函数了
$host    = 'locahost'; //数据库主机名
$dbName  = 'dbname';    //使用的数据库
$user    = 'dbusername';      //数据库连接用户名
$pass    = 'password';          //对应的密码
$dsn     = "$dbms:host=$host;dbname=$dbName";

try {
    $dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象,就是创建了数据库连接对象$dbh
//    echo "ok<br/>";
/*你还可以进行一次搜索操作
foreach ($dbh->query(‘SELECT * from FOO’) as $row) {
print_r($row); //你可以用 echo($GLOBAL); 来看到这些值
}
*/
$dbh = null;
} catch (PDOException $e) {
    die ("Error!: " . $e->getMessage() . "<br/>");
}
//默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:
$db = new PDO($dsn, $user, $pass);

$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); //设置属性
//$rs = $db->query("SELECT * FROM oto_task_clerk_coupon");
//$rs->setFetchMode(PDO::FETCH_ASSOC);
//$result_arr = $rs->fetchAll();
$rs = $db->query("update oto_task_clerk_coupon set award = 10 where user_name = 'fedde' ");
$res = $rs->rowCount();
//$result_arr = $rs->fetchAll();
print_r($res);

简单的总结一下上面的操作:


查询操作主要是PDO::query()、PDO::exec()、PDO::prepare()。

PDO::query()主要是用于有记录结果返回的操作,特别是 SELECT操作,

PDO::exec()主要是针对没有结果集合返回的操作,比如INSERT、UPDATE、DELETE等操作,它返回的结果是当前操作影响的列数。

PDO::prepare()主要是预处理操作,需要通过$rs->execute()来执行预处理里面的SQL语句,这个方法可以绑定参数,功能比较强大,不是本文能够简单说明白的,大家可以参考手册和其他文档。


获取结果集操作主要是:PDOStatement::fetchColumn()、PDOStatement::fetch()、PDOStatement::fetchALL()。

PDOStatement::fetchColumn() 是获取结果指定第一条记录的某个字段,缺省是第一个字段。

PDOStatement::fetch() 是用来获取一条记录,

PDOStatement::fetchAll()是获取所有记录集到一个中,获取结果可以通过PDOStatement::setFetchMode来设置需要结果集合的类型。


另外有两个周边的操作,一个是PDO::lastInsertId()和PDOStatement::rowCount()。PDO::lastInsertId()是返回上次插入操作,主键列类型是自增的最后的自增ID。

PDOStatement::rowCount()主要是用于PDO::query()和PDO::prepare()进行DELETE、INSERT、UPDATE操作影响的结果集,对PDO::exec()方法和SELECT操作无效。


© 著作权归作者所有

共有 人打赏支持
deadmau5
粉丝 5
博文 36
码字总数 10724
作品 0
黄浦
程序员
通过PDO 连接SQL Server

在开发PHP程序时我们可以借助多种连接方式访问各类的数据库获取所需的数据。自PHP5以来PDO作为新生事物将所有数据库接口收入囊中,为开发人员提供了方便快捷的数据库读取方式。本文将介绍如何...

junwong
2012/03/09
175
0
PHPDroid 更新,PHP 开发 Android 应用

PHPDroid 更新了,集成最新PHP7+Swoole+BusyBox+QRencode 开发 Android 应用。 下载地址: phpdroid20160703.apk(5.8M) phpdroid20160703.7z(4.7M) apk里包含PHP-7.0.8和高性能网络编程扩展S...

eechen
2016/07/04
6K
52
PHP连接Mysql常用API(mysql,mysqli,pdo)的区别

什么是API? 一 个应用程序接口(Application Programming Interface的缩写),定义了类,方法,函数,变量等等一切 你的应用程序中为了完成特定任务而需要调用的内容。在PHP应用程序需要和数...

Junn
2014/03/03
0
1
LAMP架构(PHP的安装解析)

PHP官网www.php.net 当前主流版本为5.6/7.1 一,下载php包: wget http://cn2.php.net/distributions/php-.tar.gz 二,解压php包: tar zxf php-.tar.gz 进入php文件中 cd php- 三,开始编译...

小新锐
2017/12/18
0
0
PHP-redis编译成功

下面是在看《Sams.Extending.and.Embedding.PHP》的第4章 编译PHP的一些实践记录,相应中文版 地址http://www.walu.cc/phpbook/4.1.md,书上关于windows部分的资料和命令是05年的,已经很老了...

dingdayu
2015/10/18
281
0

没有更多内容

加载失败,请刷新页面

加载更多

中秋快乐!!!

HiBlock
35分钟前
1
0
Node安装教程

1、安装最新版的node 2、设置相关目录(以D盘为例) 分别建立目录:D:\node,D:\node\node-globa,D:\node\node-cache 命令行输入: // 设置npm国内镜像 npm config set registry https://re...

Mohan710
今天
3
0
中国发布域名系统基础软件 “红枫”

9月12日消息,域名工程中心(英文缩写 ZDNS)发布了宣称自主开发的域名系统基础软件 “红枫(Maple DNS)”。 9月12日消息,域名工程中心(英文缩写 ZDNS)发布了宣称自主开发的域名系统基础软...

问题终结者
今天
3
0
Shell编程(分发系统介绍、expect远程登录、expect远程执行命令、expect传递参数)

分发系统介绍expect 分发系统expect即分发脚本,是一种脚本语言;通过他可以实现传输,输入命令(上线代码) 应用场景:业务越来越大,网站app,后端,编程语言是php,所以就需要配置lamp或者...

蛋黄_Yolks
今天
4
0
Java Http请求工具类

public static String httpPost(String source, String params) {URL url = null;HttpURLConnection conn = null;OutputStream os = null;String ret = null;try {......

yuewawa
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部