PHP之前并不像Java那样,有一个接口可以同意规范实现多个数据库的扩展,自从PDO出现。
PDO可以方便的实现php与数据库的链接。这里我们以mysql为例子。
代码如下:
<?php
//exec();执行一条sql语句,并返回执行结果,其中select语句不执行
header("Content-type: text/html; charset=utf-8");
try {
$dsn='mysql:host=localhost;dbname=test';
$name='root';
$password='root';
$pdo = new PDO($dsn, $name, $password);
/* $sql=<<<EOF
CREATE TABLE IF NOT EXISTS user(
id INT UNSIGNED AUTO_INCREMENT KEY,
username VARCHAR(20) NOT NULL UNIQUE,
password CHAR(32) NOT NULL,
email VARCHAR(30) NOT NULL
);
EOF; */
$sql = "INSERT INTO user values('', '赵云', '".md5('13456')."', '111@qq.com')";
//$sql = "update user set name = '张飞' where id = '1'";
$res = $pdo->exec($sql);
var_dump($res);
echo $pdo->lastInsertId();
} catch (PDOException $e) {
echo $e->getMessage();
}
其中,exec()方法对select没有作用,为什么呢?因为exec方法的返回值是影响的行数。select一下,对数据库是没有影响的。你就看看,又不摸,当然一个汗毛都不会少,你又不会超能力。
还有一个好玩的,就是PDO对象有一个方法lastInsertId(),可以返回上一次插入数据库的id值。
最后一个要注意的地方是,exec可以执行增加、修改、删除操作,其中sql语句复杂时候呢,可以通过EOF来编写代码,记住,第一个EOF后面不能有空格、tab键等,后一个EOF前面也不可以有。所以对齐么?就稍微将就一下啦。