技术开发 频道

牛刀小小试 PHP5中PDO的简单使用

    【牛刀小小试】

    我用的是MySQL 4.0.26,但是我个人推荐大家使用 MySQL 4.1.x 或者 MySQL 5.0.x,因为那些版本有很多有趣的东西值得去学习。我们这里PDO需要连接的就是我的MySQL 4.0啦,如果你没有安装MySQL,请自行安装。我们建立好了MySQL,并且在test库里添加了表foo,包括 id,name,gender,time等四个字段。

    我们开始构造第一个PDO应用,建立一个pdo.php文件在Web文档目录下:

    <?php
     $dsn = "mysql:host=localhost;dbname=test";
     $db = new PDO($dsn, 'root', '');
     $count = $db->exec("INSERT INTO foo SET name = 'heiyeluren',gender='男',time=NOW()");
     echo $count;
     $db = null;
    ?>

    不明白啥意思,俺们来慢慢讲讲。这行:

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

    就是构造我们的DSN(数据源),看看里面的信息包括:数据库类型是mysql,主机地址是localhost,数据库名称是test,就这么几个信息。不同数据库的数据源构造方式是不一样的。

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

    初始化一个PDO对象,构造函数的参数第一个就是我们的数据源,第二个是连接数据库服务器的用户,第三个参数是密码。我们不能保证连接成功,后面我们会讲到异常情况,这里我们姑且认为它是连接成功的。

    $count = $db->exec("INSERT INTO foo SET name = 'heiyeluren',gender='男',time=NOW()");
    echo $count;

    调用我们连接成功的PDO对象来执行一个查询,这个查询是一个插入一条记录的操作,使用PDO::exec() 方法会返回一个影响记录的结果,所以我们输出这个结果。最后还是需要结束对象资源:

    $db = null;

    默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:

    $db = new PDO($dsn, 'root', '', array(PDO::ATTR_PERSISTENT => true));

    一次操作就这么简单,也许跟以前的没有太大区别,跟ADOdb倒是有几分相似。

0
相关文章