PHP与MySQL的交互主要通过PHP的MySQLi扩展或PDO(PHP Data Objects)扩展来实现。这两种方法都允许PHP脚本与MySQL数据库进行通信,执行SQL查询并处理结果。
mysqli_connect()
, mysqli_query()
, mysqli_fetch_array()
等。mysqli
, mysqli_result
等。PDO
类及其方法,如PDO::__construct()
, PDO::query()
, PDOStatement::fetch()
等。以下是使用MySQLi和PDO连接MySQL数据库并执行简单查询的示例代码。
<?php
$host = 'localhost';
$user = 'username';
$pass = 'password';
$dbname = 'database_name';
// 创建连接
$conn = mysqli_connect($host, $user, $pass, $dbname);
// 检查连接
if (!$conn) {
die('Connection failed: ' . mysqli_connect_error());
}
// 执行查询
$sql = 'SELECT id, name FROM users LIMIT 5';
$result = mysqli_query($conn, $sql);
// 处理结果
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo 'ID: ' . $row['id'] . ' - Name: ' . $row['name'] . '<br>';
}
} else {
echo '0 results';
}
// 关闭连接
mysqli_close($conn);
?>
<?php
$host = 'localhost';
$dbname = 'database_name';
$user = 'username';
$pass = 'password';
try {
// 创建PDO实例
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass);
// 设置错误模式
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// 执行查询
$sql = 'SELECT id, name FROM users LIMIT 5';
$stmt = $pdo->query($sql);
// 处理结果
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo 'ID: ' . $row['id'] . ' - Name: ' . $row['name'] . '<br>';
}
} catch(PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
// 关闭连接
$pdo = null;
?>
mysqli_error()
或PDO的异常处理机制来捕获和显示错误信息。通过以上信息,您应该能够理解PHP与MySQL交互的基础概念、优势、类型、应用场景以及如何解决常见问题。
领取专属 10元无门槛券
手把手带您无忧上云