推荐阅读
  • PHP 日期

    PHP date() 函数 PHP date() 函数用于格式化时间/日期。 PHP date() 函数 PHP date() 函数可把时间戳格式化为可读性更好的日期和时间。 时间戳是一个字符序列,表示一定的事件发生的日期/时间。 语法 string date ( string $format [, int $timestamp ] ) 参数 描述 format

  • PHP MySQL Order By

    PHP MySQL Order By 关键词 ORDER BY 关键词用于对记录集中的数据进行排序。 ORDER BY 关键词 ORDER BY 关键词用于对记录集中的数据进行排序。 ORDER BY 关键词默认对记录进行升序排序。 如果你想降序排序,请使用 DESC 关键字。 语法 SELECT column_name(s) FROM table_name ORDER BY colu

  • PHP For 循环

    PHP 循环 - For 循环 循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块。 for 循环 for 循环用于您预先知道脚本需要运行的次数的情况。 语法 for (初始值; 条件; 增量) { 要执行的代码; } 参数: 初始值:主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次的代码)。 条件:循环执行的限制条件。如果为 TR

  • PHP MySQL 插入多条数据

    PHP MySQL 插入多条数据 使用 MySQLi 和 PDO 向 MySQL 插入多条数据 mysqli_multi_query() 函数可用来执行多条SQL语句。 以下实例向 'MyGuests' 表添加了三条新的记录: 实例 (MySQLi - 面向对象) [mycode3 type='php']..

  • PHP 表单验证

    PHP 表单验证 本章节我们将介绍如何使用PHP验证客户端提交的表单数据。 PHP 表单验证 在处理PHP表单时我们需要考虑安全性。 本章节我们将展示PHP表单数据安全处理,为了防止黑客及垃圾信息我们需要对表单进行数据安全验证。 在本章节介绍的HTML表单中包含以下输入字段: 必须与可选文本字段,单选按钮,及提交按钮: 查看代码 » 上述表单验证规则如下: 字

  • PHP Timezones

    PHP 5 时区 PHP 支持的时区 下面是 PHP 支持的时区的完整列表,这些对一些 PHP 日期函数很有用。 非洲 美洲 南极洲 北冰洋 亚洲 大西洋 大洋洲 欧洲 印度洋 太平洋 非洲 Africa/Abidjan Africa/Accra Africa/Addis_Ababa Africa/Algie

  • PHP Exception

    PHP 异常处理 异常用于在指定的错误发生时改变脚本的正常流程。 异常是什么 PHP 5 提供了一种新的面向对象的错误处理方法。 异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。这种情况称为异常。 当异常被触发时,通常会发生: 当前代码状态被保存 代码执行被切换到预定义(自定义)的异常处理器函数 根据情况,处理器也许会从保存的代码状态重新开始执行代码,终止脚本执行,或从代

  • PHP MySQL 插入数据

    PHP MySQL 插入数据 使用 MySQLi 和 PDO 向 MySQL 插入数据 在创建完数据库和表后,我们可以向表中添加数据。 以下为一些语法规则: PHP 中 SQL 查询语句必须使用引号 在 SQL 查询语句中的字符串值必须加引号 数值的值不需要引号 NULL 值不需要引号 INSERT INTO 语句通常用于向 MySQL 表添加新的记录: INSERT INTO

  • PHP 教程

    PHP 教程 PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。 PHP 是免费的,并且使用非常广泛。同时,对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。 适用于PHP初学者的学习线路和建议PHP 开发工具推荐 PHP 在线工具 通过实例学习 PHP 我们的 PHP 在线实例让您能够更简单的学习 PHP,实例中包含了 PHP 的源码及运行结果。 [my

  • PHP 数组排序

    PHP 数组排序 数组中的元素可以按字母或数字顺序进行降序或升序排列。 PHP - 数组排序函数 在本章中,我们将一一介绍下列 PHP 数组排序函数: sort() - 对数组进行升序排列 rsort() - 对数组进行降序排列 asort() - 根据关联数组的值,对数组进行升序排列 ksort() - 根据关联数组的键,对数组进行升序排列 arsort() - 根据关联数组的值

PHP MySQL 连接

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 扩展多数情况下是自动安装的。

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

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

PDO 安装

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

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

连接 MySQL

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


<?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());}

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

<?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 在连接过程需要设置数据库名。如果没有指定,则会抛出异常。

关闭连接

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


$conn->close();

mysqli_close($conn);

$conn = null;
关于我们 免责声明 联系我们
Copyright © 2021 爱学习网 浙ICP备18049359号 网站地图 Google地图