PHP MySQL 连接学习笔记

一、PHP 连接 MySQL

1. PHP 连接 MySQL 的三种方式

PHP 可以通过以下三种方式连接 MySQL 数据库:

  1. mysqli(MySQL Improved Extension)扩展

    mysqli 扩展是用于连接 MySQL 5.0.7 以上版本的 PHP 标准扩展。它提供了比原生 MySQL 函数更多的功能,并支持面向对象和面向过程两种编程风格。

    示例代码:

    phpCopy Code
    $mysqli = new mysqli('localhost', 'username', 'password', 'database'); if ($mysqli->connect_error) { die('Connect Error (' . $mysqli->connect_errno . ') '. $mysqli->connect_error); } echo 'Connected successfully.';
  2. PDO(PHP Data Objects)扩展

    PDO 扩展是一个轻量级且高效的数据库抽象层,支持多种数据库(MySQL、Oracle、PostgreSQL 等)的统一访问,可以将不同的数据库操作封装为相同的 API 。它提供了良好的可移植性和安全性。

    示例代码:

    phpCopy Code
    $pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password'); echo 'Connected successfully.';
  3. mysql(MySQL Original)扩展

    mysql 扩展是 PHP 内置的一个 MySQL 原生函数库,用于连接低版本 MySQL 数据库。但是该扩展已经被弃用,不建议使用。

    示例代码:

    phpCopy Code
    $link = mysql_connect('localhost', 'username', 'password'); if (!$link) { die('Connect Error (' . mysql_errno() . ') '. mysql_error()); } echo 'Connected successfully.';

2. PHP 连接 MySQL 的基本步骤

PHP 连接 MySQL 的基本步骤如下:

  1. 准备好 MySQL 数据库的连接参数,包括数据库主机地址、用户名、密码、数据库名。

  2. 使用 mysqli 或 PDO 扩展创建一个数据库连接对象。

  3. 检测连接是否成功,如果失败,则输出错误信息并退出程序。

    示例代码:

    phpCopy Code
    // mysqli 连接示例 $mysqli = new mysqli('localhost', 'username', 'password', 'database'); if ($mysqli->connect_error) { die('Connect Error (' . $mysqli->connect_errno . ') '. $mysqli->connect_error); } echo 'Connected successfully.'; // PDO 连接示例 $pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password'); echo 'Connected successfully.';

二、实例:查询数据库表中的数据

1. 使用 mysqli 扩展查询数据

phpCopy Code
$mysqli = new mysqli('localhost', 'username', 'password', 'database'); if ($mysqli->connect_error) { die('Connect Error (' . $mysqli->connect_errno . ') '. $mysqli->connect_error); } $sql = "SELECT * FROM users"; $result = $mysqli->query($sql); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "id: " . $row["id"] . " - Name: " . $row["name"] . " - Email: " . $row["email"] . "<br>"; } } else { echo "0 results"; } $mysqli->close();

2. 使用 PDO 扩展查询数据

phpCopy Code
$pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password'); $sql = "SELECT * FROM users"; $stmt = $pdo->query($sql); if ($stmt->rowCount() > 0) { while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo "id: " . $row["id"] . " - Name: " . $row["name"] . " - Email: " . $row["email"] . "<br>"; } } else { echo "0 results"; } $pdo = null;

以上示例代码仅供参考,实际使用时请根据具体情况进行修改。