<?php 
$DB_HOST='127.0.0.1';
$DB_USER='root';
$DB_PASS='';
$DB_DATABASENAME='database';
$dsn = "mysql:host={$DB_HOST};dbname={$DB_DATABASENAME}";
$db = new PDO($dsn,$DB_USER,$DB_PASS);
$db->exec("set names utf8");
$rs = $db->query("SELECT id FROM `article` WHERE title='{$title}'");
if ($db->errorCode() != '00000'){echo join("\t",$db->errorInfo());}
if($rs){
//遍历
while($result = $rs->fetch()){
print_r($result);
}
//将结果全部取到数组里(数字和关联索引都有)
$result_arr = $rs->fetchAll();
}
//只需要关联索引
$db->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
$rs = $db->query("SELECT * FROM foo");
$rs->setFetchMode(PDO::FETCH_ASSOC);
$result_arr = $rs->fetchAll();
print_r($result_arr);
/*
setAttribute() 方法是设置部分属性,主要属性有:PDO::ATTR_CASE、PDO::ATTR_ERRMODE等等,我们这里需要设置的是PDO::ATTR_CASE,就是我们使用关联索引获取数据集的时候,关联索引是大写还是小写,有几个选择:
PDO::CASE_LOWER -- 强制列名是小写
PDO::CASE_NATURAL -- 列名按照原始的方式
PDO::CASE_UPPER -- 强制列名为大写
setFetchMode方法来设置获取结果集的返回值的类型,同样类型还有:
PDO::FETCH_ASSOC -- 关联数组形式
PDO::FETCH_NUM -- 数字索引数组形式
PDO::FETCH_BOTH -- 两者数组形式都有,这是缺省的
PDO::FETCH_OBJ -- 按照对象的形式,类似于以前的 mysql_fetch_object()
*/
//除了上面这种获取数据的方式,还有这种:
$rs = $db->prepare("SELECT * FROM foo");
$rs->execute();
while($row = $rs->fetch()){
print_r($row);
}
//如果你想获取指定记录里一个字段结果的话,可以使用 PDOStatement::fetchColumn():
//一般使用fetchColumn()来进行count统计或者某些只需要单字段的记录很好操作。
$rs = $db->query("SELECT COUNT(*) FROM foo");
$col = $rs->fetchColumn();
echo $col;

以上代码整理自:http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/08/12/1797753.html

Related Posts: PHP-PDO-MySQL代码示例 :