在xampp集成环境中,mysql服务已经默认集成,php连接其中的mysql数据库只需要确认服务状态、获取连接参数后编写对应代码即可完成操作,整个过程不需要额外安装mysql服务端。

一、前置准备:确认xampp服务状态
首先打开xampp控制面板,检查Apache和MySQL两个服务的状态,确保两者的状态显示为Running。如果MySQL服务没有启动,点击对应的Start按钮启动服务,默认情况下mysql的端口是3306,root用户默认没有密码。
二、php连接xampp mysql的两种方式
1. 使用mysqli扩展连接(推荐)
mysqli是php官方推荐的mysql扩展,支持面向对象和面向过程两种写法,安全性更高。
面向过程写法示例
<?php
// 连接参数
$host = '127.0.0.1'; // 或localhost
$user = 'root'; // xampp默认mysql用户名
$password = ''; // xampp默认root用户无密码
$dbname = 'test'; // 要连接的数据库名,需要先存在
// 建立连接
$conn = mysqli_connect($host, $user, $password, $dbname);
// 检查连接是否成功
if (!$conn) {
die('数据库连接失败:' . mysqli_connect_error());
}
echo '数据库连接成功';
// 关闭连接
mysqli_close($conn);
?>
面向对象写法示例
<?php
$host = '127.0.0.1';
$user = 'root';
$password = '';
$dbname = 'test';
// 实例化mysqli对象
$mysqli = new mysqli($host, $user, $password, $dbname);
// 检查连接错误
if ($mysqli->connect_error) {
die('连接失败:' . $mysqli->connect_error);
}
echo '数据库连接成功';
// 关闭连接
$mysqli->close();
?>
2. 使用PDO扩展连接
PDO支持多种数据库,代码的可移植性更好,适合后续可能切换数据库的场景。
<?php
$host = '127.0.0.1';
$dbname = 'test';
$user = 'root';
$password = '';
try {
// 创建PDO实例
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $password);
// 设置PDO错误模式为异常
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo '数据库连接成功';
} catch (PDOException $e) {
die('数据库连接失败:' . $e->getMessage());
}
// 关闭连接(PDO对象销毁时自动关闭,也可手动赋值为null)
$pdo = null;
?>
三、常见连接问题排查
- 如果提示Connection refused,检查xampp的MySQL服务是否启动,端口是否被占用,可到xampp控制面板查看MySQL的端口配置。
- 如果提示Access denied for user,检查用户名和密码是否正确,xampp默认root用户无密码,不要填写错误密码。
- 如果提示Unknown database,检查要连接的数据库是否存在,可先到xampp的phpMyAdmin页面创建对应数据库。
四、验证连接效果
将编写好的php文件放到xampp安装目录下的htdocs文件夹中,比如命名为db_test.php,然后在浏览器中访问http://127.0.0.1/db_test.php,如果页面显示数据库连接成功,说明连接配置正确。