PHP MySQL 连接学习笔记
一、PHP 连接 MySQL
1. PHP 连接 MySQL 的三种方式
PHP 可以通过以下三种方式连接 MySQL 数据库:
-
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.';
-
PDO(PHP Data Objects)扩展
PDO 扩展是一个轻量级且高效的数据库抽象层,支持多种数据库(MySQL、Oracle、PostgreSQL 等)的统一访问,可以将不同的数据库操作封装为相同的 API 。它提供了良好的可移植性和安全性。
示例代码:
phpCopy Code$pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password'); echo 'Connected successfully.';
-
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 的基本步骤如下:
-
准备好 MySQL 数据库的连接参数,包括数据库主机地址、用户名、密码、数据库名。
-
使用 mysqli 或 PDO 扩展创建一个数据库连接对象。
-
检测连接是否成功,如果失败,则输出错误信息并退出程序。
示例代码:
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;
以上示例代码仅供参考,实际使用时请根据具体情况进行修改。