最适合网络开发者的网站

PHP 教程

PHP 主页 PHP 简介 PHP 安装 PHP 语法 PHP 注释 PHP 变量 PHP 回显/打印 PHP 数据类型 PHP 字符串 PHP 数字 PHP 数学 PHP 常量 PHP 运算符 PHP 如果...否则...Elseif PHP 开关 PHP 循环 PHP 函数 PHP 数组 PHP 超全局变量 PHP 正则表达式

PHP 形式

PHP 表单处理 PHP 表单验证 需要 PHP 表单 PHP 表单 URL/电子邮件 PHP 表单完成

PHP 先进的

PHP 日期和时间 PHP 包含 PHP 文件处理 PHP 文件打开/读取 PHP 文件创建/写入 PHP文件上传 PHP 饼干 PHP 会话 PHP 过滤器 PHP 过滤器高级 PHP 回调函数 PHP 的 JSON PHP 异常

PHP 面向对象

PHP 什么是OOP PHP 类/对象 PHP 构造函数 PHP 析构函数 PHP 访问修饰符 PHP 继承 PHP 常量 PHP 抽象类 PHP 接口 PHP 特征 PHP 静态方法 PHP 静态属性 PHP 命名空间 PHP 可迭代对象

MySQL 数据库

MySQL 数据库 MySQL 连接 MySQL 创建数据库 MySQL 创建表 MySQL 插入数据 MySQL 获取最后一个 ID MySQL 插入多个 MySQL 已准备 MySQL 选择数据 MySQL 哪里 MySQL 排序依据 MySQL 删除数据 MySQL 更新数据 MySQL 限制数据

PHP XML

PHP XML 解析器 PHP SimpleXML 解析器 PHP SimpleXML - 获取 PHP XML 扩展 PHP XML DOM

PHP - 阿贾克斯

AJAX 简介 AJAX PHP AJAX 数据库 AJAX XML AJAX实时搜索 AJAX 民意调查

PHP 例子

PHP 示例 PHP 编译器 PHP 测验 PHP 练习 PHP 证书

PHP 参考

PHP 概述 PHP 数组 PHP 日历 PHP 日期 PHP 目录 PHP 错误 PHP 异常 PHP 文件系统 PHP 过滤器 PHP FTP PHP 的 JSON PHP 关键字 PHP 库 PHP 邮件 PHP 数学 PHP 杂项 PHP MySQLi PHP 网络 PHP 输出控件 PHP 正则表达式 PHP 简单 XML PHP 流 PHP 字符串 PHP 变量处理 PHP XML解析器 PHP 压缩文件 PHP 时区

PHP。初学者课程

尿素

PHP 连接到 MySQL


PHP 5 及更高版本可以使用以下方式与 MySQL 数据库配合使用:

  • MySQLi 扩展 (“i” 代表改进)
  • PDO(PHP 数据对象)

早期版本的 PHP 使用 MySQL 扩展。但是,此扩展已于 2012 年弃用。


我应该使用 MySQLi 还是 PDO?

如果您需要一个简短的回答,那就是“随您喜欢”。

MySQLi 和 PDO 都有其优点:

PDO 可以在 12 种不同的数据库系统上运行,而 MySQLi 只能在 MySQL 数据库上运行。

因此,如果您必须将项目切换为使用其他数据库,PDO 可使该过程变得简单。您只需更改连接字符串和一些查询。使用 MySQLi,您将需要重写整个代码 - 包括查询。

两者都是面向对象的,但 MySQLi 还提供了过程 API。

两者都支持“Prepared Statements”。Prepared Statements 可防止 SQL 注入,对于 Web 应用程序安全非常重要。


MySQLi 和 PDO 语法中的 MySQL 示例

在本章以及接下来的章节中,我们将演示使用 PHP 和 MySQL 的三种方法:

  • MySQLi(面向对象)
  • MySQLi(程序)
  • 原产地保护组织

MySQLi 安装

对于 Linux 和 Windows:安装 php5 mysql 包时,大多数情况下会自动安装 MySQLi 扩展。

有关安装详细信息,请访问: https://php.net/manual/en/mysqli.installation.html


PDO 安装

有关安装详细信息,请访问: https://php.net/manual/en/pdo.installation.html


打开与 MySQL 的连接

在我们访问 MySQL 数据库中的数据之前,我们需要能够连接到服务器:

示例(MySQLi 面向对象)

<?php
$服务器名称 = “本地主机”;
$用户名 = “用户名”;
$password = "密码";

// 创建连接
$conn = new mysqli($服务器名称,$用户名,$密码);

// 检查连接
如果 ($conn-&gt;connect_error) {
die("连接失败: " . $conn-&gt;connect_error);
}
echo "连接成功";
?>

注意上面的面向对象的例子:

$connect_error 在 PHP 5.2.9 和 5.3.0 之前无效。如果您需要确保与 5.2.9 和 5.3.0 之前的 PHP 版本兼容,请改用以下代码:

// 检查连接
如果(mysqli_connect_error()){
die("数据库连接失败: " . mysqli_connect_error());
}

示例(MySQLi 过程)

<?php
$服务器名称 = “本地主机”;
$用户名 = “用户名”;
$password = "密码";

// 创建连接
$conn = mysqli_connect($服务器名称, $用户名, $密码);

// 检查连接
如果(!$ conn){
die("连接失败: " . mysqli_connect_error());
}
echo "连接成功";
?>

示例 (PDO)

<?php
$服务器名称 = “本地主机”;
$用户名 = “用户名”;
$password = "密码";

尝试 {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
// 将 PDO 错误模式设置为异常
$conn-&gt;设置属性(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
echo "连接成功";
} 捕获(PDOException $e){
echo "连接失败:" . $e-&gt;getMessage();
}
?>

笔记: 在上面的 PDO 示例中,我们还有指定数据库(myDB)。PDO 需要连接到有效的数据库。如果没有指定数据库,则会引发异常。

提示: PDO 的一大优点是它有一个异常类来处理数据库查询中可能出现的任何问题。如果在 try{ } 块中抛出异常,脚本将停止执行并直接转到第一个 catch(){ } 块。


关闭连接

脚本结束时连接将自动关闭。若要提前关闭连接,请使用以下命令:

MySQLi 面向对象:

$conn-&gt;关闭();

MySQLi 程序:

mysqli_close($conn);

原产地名称(PDO):

$conn = 空;