PHP 连接 MySQL

admin5个月前未分类39

PHP 5 及以上版本建议使用以下方式连接 MySQL :

  • MySQLi extension ("i" 意为 improved)

  • PDO (PHP Data Objects)

在 PHP 早期版本中我们使用 MySQL 扩展。但该扩展在 2012 年开始不建议使用。


我是该用 MySQLi ,还是 PDO?

如果你需要一个简短的回答,即 "你习惯哪个就用哪个"。

MySQLi 和 PDO 有它们自己的优势:

PDO 应用在 12 种不同数据库中, MySQLi 只针对 MySQL 数据库。

所以,如果你的项目需要在多种数据库中切换,建议使用 PDO ,这样你只需要修改连接字符串和部分查询语句即可。 使用 MySQLi, 如果不同数据库,你需要重新编写所有代码,包括查询。

两者都是面向对象, 但 MySQLi 还提供了 API 接口。

两者都支持预处理语句。 预处理语句可以防止 SQL 注入,对于 web 项目的安全性是非常重要的。


MySQLi 和 PDO 连接 MySQL 实例

在本章节及接下来的章节中,我们会使用以下三种方式来演示 PHP 操作 MySQL:

  • MySQLi (面向对象)

  • MySQLi (面向过程)

  • PDO


MySQLi 安装

Linux 和 Windows: 在 php5 mysql 包安装时 MySQLi 扩展多数情况下是自动安装的。

安装详细信息,请查看: http://php.net/manual/en/mysqli.installation.php

可以通过 phpinfo() 查看是否安装成功:


PDO 安装

For 安装详细信息,请查看: http://php.net/manual/en/pdo.installation.php

可以通过 phpinfo() 查看是否安装成功:


连接 MySQL

在我们访问 MySQL 数据库前,我们需要先连接到数据库服务器:

实例 (MySQLi - 面向对象)

<?php$servername = "localhost";$username = "username";$password = "password"; // 创建连接$conn = new mysqli($servername, $username, $password); // 检测连接if ($conn->connect_error) {    die("连接失败: " . $conn->connect_error);} echo "连接成功";?>


Note注意在以上面向对象的实例中 $connect_error 是在 PHP 5.2.9 和 5.3.0 中添加的。如果你需要兼容更早版本 请使用以下代码替换:

// 检测连接
if (mysqli_connect_error()) {
    die("数据库连接失败: " . mysqli_connect_error());
}


实例 (MySQLi - 面向过程)

<?php$servername = "localhost";$username = "username";$password = "password"; // 创建连接$conn = mysqli_connect($servername, $username, $password); // 检测连接if (!$conn) {    die("Connection failed: " . mysqli_connect_error());}echo "连接成功";?>


实例 (PDO)

<?php$servername = "localhost";$username = "username";$password = "password"; try {    $conn = new PDO("mysql:host=$servername;", $username, $password);    echo "连接成功"; }catch(PDOException $e){    echo $e->getMessage();}?>


Note注意在以上 PDO 实例中我们已经指定了数据库 (myDB)。PDO 在连接过程需要设置数据库名。如果没有指定,则会抛出异常。



关闭连接

连接在脚本执行完后会自动关闭。你也可以使用以下代码来关闭连接:

实例 (MySQLi - 面向对象)

$conn->close();


实例 (MySQLi - 面向过程)

mysqli_close($conn);


实例 (PDO)

$conn = null;


相关文章

PHP EOF(heredoc) 使用说明

PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法...

PHP 数据类型PHP 数据类型

PHP 变量存储不同的类型的数据,不同的数据类型可以做不一样的事情。PHP 支持以下几种数据类型:String(字符串)Integer(整型)Float(浮点型)Boolean(布尔型)Array(数...

PHP MySQL 创建数据库

PHP MySQL 创建数据库

据库存有一个或多个表。你需要 CREATE 权限来创建或删除 MySQL 数据库。使用 MySQLi 和 PDO 创建 MySQL 数据库CREATE DATABASE 语句用于在 MySQL 中创建...

PHP MySQL 简介

通过 PHP,您可以连接和操作数据库。MySQL 是跟 PHP 配套使用的最流行的开源数据库系统。如果想学习更多 MySQL 知识可以查看本站 MySQL 教程。MySQL 是什么?MySQ...

PHP 语法

PHP 脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器。基本的 PHP 语法PHP 脚本可以放在文档中的任何位置。PHP 脚本以 <?php 开始,以 ?...

PHP 安装

PHP 安装

PHP 安装您需要做什么?为了开始使用 PHP,您可以:找一个支持 PHP 和 MySQL 的 Web 主机在您自己的 PC 机上安装 Web 服务器,然后安装 PHP 和 MySQL使用支...