阅读 96

PHP MySQL 连接

在本教程中,您将学习如何使用PHP连接到MySQL服务器。

通过PHP连接到MySQL的方法

为了存储或访问MySQL数据库中的数据,您首先需要连接到MySQL数据库服务器。PHP提供了两种不同的连接到MySQL服务器的方式:MySQLi(改进的MySQL)和PDO(PHP数据对象)扩展。

虽然PDO扩展名更具可移植性,并且支持超过十二个不同的数据库,但顾名思义,MySQLi扩展名仅支持MySQL数据库。但是,MySQLi扩展提供了一种连接到MySQL数据库服务器并在其中执行查询的简便方法。PDO和MySQLi都提供了一个面向对象的API,但是MySQLi还提供了一个过程API,对于初学者来说相对容易理解。

提示:与PDO扩展相比,PHP的MySQLi扩展同时提供了速度和功能优势,因此对于特定于MySQL的项目,它可能是更好的选择。

连接到MySQL数据库服务器

在PHP中,您可以使用mysqli_connect()函数轻松地执行此操作。PHP和MySQL数据库服务器之间的所有通信都通过此连接进行。以下是使用MySQLi和PDO扩展连接到MySQL的三种基本语法:

语法:MySQLi,程序化方式

$link = mysqli_connect("hostname", "username", "password", "database");

语法:MySQLi,面向对象的方式

$mysqli = new mysqli("hostname", "username", "password", "database");

语法:PHP数据对象(PDO)方式

$pdo = new PDO("mysql:host=hostname;dbname=database", "username", "password");

上面语法中的hostname参数指定主机名(例如localhost)或MySQL服务器的IP地址,而username和password参数指定访问MySQL服务器的凭据,而数据库参数(如果提供)将指定默认MySQL 执行查询时要使用的数据库。

下面的示例演示如何使用MySQLi(程序面向对象的方式)和PDO扩展连接到MySQL数据库服务器。

在线示例

<?php/* 尝试MySQL服务器连接。 假设您正在运行MySQL。
具有默认设置的服务器(没有密码的用户“root”) */$link = mysqli_connect("localhost", "root", "");
 // 检查连接if($link === false){
    die("错误:无法连接。" . mysqli_connect_error());
}
 //打印主机信息echo "连接成功。 主机信息: " . mysqli_get_host_info($link);?>
<?php/* 尝试MySQL服务器连接。 假设您正在运行MySQL。
具有默认设置的服务器(没有密码的用户“root”) */$mysqli = new mysqli("localhost", "root", "", "demo");
 // 检查连接if($mysqli === false){
    die("错误:无法连接。" . $mysqli->connect_error);
}
 //打印主机信息echo "连接成功。 主机信息:" . $mysqli->host_info;?>
<?php/*尝试MySQL服务器连接。 假设您正在运行MySQL。
具有默认设置的服务器(没有密码的用户“root”) */try{
    $pdo = new PDO("mysql:host=localhost", "root", "");
    
    //将PDO错误模式设置为异常    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    //打印主机信息    echo "连接成功。 主机信息:" . $pdo->getAttribute(constant("PDO::ATTR_CONNECTION_STATUS"));
} catch(PDOException $e){
    die("错误:无法连接。 " . $e->getMessage());
}?>

注意: MySQL数据库服务器的默认用户名是root,没有密码。但是,为了防止数据库被入侵和未经授权的访问,您应该为MySQL帐户设置密码。

提示:将PDO::ATTR_ERRMODE属性设置为PDO::ERRMODE_EXCEPTION将告诉PDO在发生数据库错误时抛出异常。

关闭MySQL数据库服务器连接

脚本执行结束后,与MySQL数据库服务器的连接将自动关闭。但是,如果您想提前关闭它,只需调用PHP mysqli_close()函数即可。

在线示例

<?php/*尝试MySQL服务器连接。 假设您正在运行MySQL。
具有默认设置的服务器(没有密码的用户“root”)*/$link = mysqli_connect("localhost", "root", "");
 // 检查连接if($link === false){
    die("错误:无法连接。" . mysqli_connect_error());
}
 // 打印主机信息echo "连接成功。 主机信息: " . mysqli_get_host_info($link);
 // 关闭连接mysqli_close($link);?>
<?php/*尝试MySQL服务器连接。 假设您正在运行MySQL。
具有默认设置的服务器(没有密码的用户“root”) */$mysqli = new mysqli("localhost", "root", "", "demo");
 // 检查连接if($mysqli === false){
    die("错误:无法连接。" . $mysqli->connect_error);
}
 // 打印主机信息echo "连接成功。 主机信息: " . $mysqli->host_info;
 // 关闭连接$mysqli->close();?>
<?php/* 尝试MySQL服务器连接。 假设您正在运行MySQL。
具有默认设置的服务器(没有密码的用户“root”) */try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
    
    //将PDO错误模式设置为异常    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    //打印主机信息    echo "连接成功。 主机信息: " .$pdo->getAttribute(constant("PDO::ATTR_CONNECTION_STATUS"));
} catch(PDOException $e){
    die("错误:无法连接。" . $e->getMessage());
}
 //关闭连接unset($pdo);?>


文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐