跳到主要内容

PHP 连接数据库

PHP 支持所有主流的数据库,有两种方式访问:

  1. 使用 PDO 库
  2. 使用特定库

这两者的区别是,使用 PDO 访问数据库的接口时,将使用的数据库从一种切换为另一种时相对更容易。

pdo

使用原生 C 编写的数据库访问扩展,可以在 php.ini 中开启:

extension=php_pdo.dll
extension=php_pdo_mysql.dll

一个数据库事务的例子

try {
$db = new PDO ($dsn, $username, $password);
} catch (Exception $error) {
die("Connection failed:". $error->getMessage());
}

try {
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();

$db->exec($sql1);
$db->exec($sql2);

$db->commit();
} catch (Exception $error) {
$db->roolback();
echo "Transaction not completed: ". $error->getMessage();
}

原生连接库

$db = new mysqli('localhost', 'username', 'password', 'database');
$sql = 'INSERT INTO ...';

if ($db->query($sql) {
echo 'ok';
} else {
echo 'error';
}