除非注明转载,否则本博客文章皆为原创。 MSN: wfnlxp@hotmail.com QQ: 176564452

PDO基础用法2--查询数据

上一篇 / 下一篇  2007-03-12 16:06:48 / 个人分类:数据库

PHP 5.2可以用PDO操作数据库,这里以mysql为例。

1、用try捕捉异常

/*

某些时候由于发生异常而使得系统自动报错,可能泄漏一些敏感信息,

所以用try把数据库操作的代码包起来,一旦发生异常,可以进行自定义的处理

*/

try {

2、告诉PDO当前使用的数据库类型和要操作的数据库地址和名称

/*

mysql表示我们使用的是mysql数据库,注意用冒号和后面分隔。

host=localhost表示数据库所在的主机,这里假设数据库在本机localhost,注意和后面用分号分隔。

dbname=shop表示操作的那个数据库名称,假设为shop

*/

$dsn = "mysql:host=localhost;dbname=shop";

3、新建一个PDO对象

/*

第一个参数用的是前面那个字符串$dsn。

第二个参数是数据库的用户名,假设是root。

第三个参数是数据库的密码,假设是pass。

*/

$db = new PDO($dsn, 'root', 'pass');

4、执行SQL语句

//假设查询的数据表product,查询字段为name

$sql = "SELECT name FROM product";

/*

PDO对象的方法query用来执行sql语句并返回结果,它的参数就是要执行的sql语句。

exec方法只返回受影响的行数,所以不要用它执行select。

query方法返回的其实是一个PDOStatement对象,通过它来进一步处理查询的结果

*/

$statement = $db->query($sql);

5、循环的获取每一个查询结果

/*

PDOStatement对象的方法fetch可以一条条的返回结果。

它的参数可以决定返回结果的方式,常用PDO::FETCH_ASSOC,表示用关联数组返回结果。

*/

   //每次循环把结果赋给变量$result,这是个关联数组,键值为字段名

   while ($result = $statement->fetch(PDO::FETCH_ASSOC ))

   {

      //输出每条结果

     echo $result['name'];

   }

6、如果不需要继续操作数据库,就销毁这个对象

$db = null;

7、用catch处理捕捉的异常(如果发生的话)

/*

在这些数据库操作过程中,一旦发生异常,try将把它传递给下面的catch。

catch的参数必须是某个异常类的对象,这里用的是PDO的异常类PDOException

*/

}catch (PDOException $e) {

//这里简单的自定义报错

echo '数据库操作发生错误';

}

 


TAG: PHP mysql 数据库 MySQL Mysql pdo PDO

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar