PHP5.2中PDO的简单使用

来源:互联网 发布:汉字好处 知乎 编辑:程序博客网 时间:2024/06/04 18:36



【PDO配置】
1、确保PHP版本为5.2.5以上(主要是我用的5.2.5,第一次不知道用的5.1.x的,结果一直搞不好~_~)
2、在php.ini中找到Dynamic Extensions扩展部分,去掉extension=php_pdo.dll前面的分号
3、去掉相应数据库PDO扩展前面的分号,如:extension=php_pdo_mysql.dll

【范例中数据库】
CREATE TABLE tablename (
    id mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT,
    str varchar(50) NOT NULL DEFAULT '',
    PRIMARY KEY (id)
);

【程序范例】
<?php
/*
*        数据库配置信息
*/
$dsn = "mysql:host=localhost;dbname=test";
$user = 'root';
$passwd = '123456';

/*
*        链接数据库,并测试是否链接成功
*/
try{
        $db = new PDO($dsn, $user, $passwd);
}catch (PDOException $e)
{
        echo "链接数据库失败!";
        print "异常信息: ". $e->getMessage() . "<br/>";
        print "异常文件: " . $e->getFile() . "<br/>";
        print "异常行号: " . $e->getLine() . "<br/>";
        exit();
}

/*
*        插入
*/
//$sql = "INSERT INTO tablename SET str = 'Hello'";
//$count = $db->exec($sql); //返回值为影响的行数

/*
*        删除
*/
//$sql = "DELETE FROM tablename WHERE str = 'Hello' LIMIT 1";
//$count = $db->exec($sql); //返回值为影响的行数

/*
*        查询
*/
//预处理需要查询的SQL语句
//$db->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL); //列名按照原始的方式(字段)
$sql = "SELECT * FROM tablename WHERE id < :id AND str = :string"; //sql语句(参数绑定方式)
$query = $db->prepare($sql); //预处理

//用一组绑定参数执行一遍查询
$query->execute(array(':id'=>1, ':string'=>'Hello')); //处理语句(参数绑定方式)
//$query->setFetchMode(PDO::FETCH_ASSOC); 关联数组形式(只通过字段名下标访问数组内容)
while($item = $query->fetch(PDO::FETCH_ASSOC)) //循环获取数据
{
        echo $item['id'].":".$item['str']."<br/>";
        //print_r ($item);
}

//用另一组绑定参数,再执行一遍查询
$query->execute(array(':id'<=10, ':string'=>'HelloWorld')); //处理语句(参数绑定方式)
//$query->setFetchMode(PDO::FETCH_ASSOC); 关联数组形式(只通过字段名下标访问数组内容)
while($item = $query->fetch(PDO::FETCH_ASSOC)) //循环获取数据
{
        echo $item['id'].":".$item['str']."<br/>";
        //print_r ($item);
}

$db = null; //释放数据库链接
?>