在PHP中连接MySQL数据库时,PHP脚本实际上是作为客户端与MySQL数据库服务端进行通信。具体来说:
客户端:PHP脚本运行在Web服务器(如Apache或Nginx)上,充当客户端角色。它通过MySQL扩展(如mysqli
或PDO
)来发起与MySQL数据库的连接请求。
服务端:MySQL数据库运行在数据库服务器上,充当服务端角色。它监听来自客户端的连接请求,并处理这些请求以执行数据库操作(如查询、插入、更新等)。
当PHP脚本使用mysqli
或PDO
扩展连接MySQL数据库时,以下是连接的基本步骤:
创建连接:PHP脚本通过指定MySQL服务器的地址(通常是localhost
或远程服务器的IP地址)、用户名、密码和数据库名称来创建连接。
// 使用mysqli扩展连接MySQL
$mysqli = new mysqli("localhost", "username", "password", "database");
// 使用PDO扩展连接MySQL
$pdo = new PDO("mysql:host=localhost;dbname=database", "username", "password");
验证连接:PHP脚本会尝试与MySQL服务器建立连接。如果连接成功,PHP脚本就可以执行SQL查询和其他数据库操作。
// 检查mysqli连接是否成功
if ($mysqli->connect_error) {
die("连接失败: " . $mysqli->connect_error);
}
// 检查PDO连接是否成功
try {
$pdo = new PDO("mysql:host=localhost;dbname=database", "username", "password");
} catch (PDOException $e) {
die("连接失败: " . $e->getMessage());
}
执行操作:一旦连接成功,PHP脚本就可以通过SQL语句与MySQL数据库进行交互,例如查询数据、插入数据、更新数据等。
// 使用mysqli执行查询
$result = $mysqli->query("SELECT * FROM users");
// 使用PDO执行查询
$stmt = $pdo->query("SELECT * FROM users");
关闭连接:在完成数据库操作后,PHP脚本通常会关闭与MySQL数据库的连接,以释放资源。
// 关闭mysqli连接
$mysqli->close();
// 关闭PDO连接(PDO连接在脚本结束时自动关闭)
$pdo = null;
因此,PHP连接MySQL数据库时,PHP是客户端,MySQL是服务端。