PHP连接MYSQL数据库的3种常用方法

下面为你详细介绍 PHP 连接 MYSQL 数据库的 3 种常用方法。

方法一:使用 mysqli 扩展

  1. 确保mysqli扩展已启用,可以通过查看php.ini文件或使用 phpinfo() 函数来检查

  2. 使用 mysqli_connect() 函数连接到 MYSQL 数据库,该函数有4个参数,分别是主机名、用户名、密码和数据库名,如下所示:

$link = mysqli_connect("localhost", "root", "password", "databaseName");
if (!$link) {
    die("连接失败:" . mysqli_connect_error());
} else {
    echo "连接成功!";
}
  1. 执行 sql 语句,示例代码如下:
$createTableSql = "CREATE TABLE `user` (
            `id` int(11) NOT NULL AUTO_INCREMENT,
            `username` varchar(20) NOT NULL,
            `password` varchar(20) NOT NULL,
            PRIMARY KEY (`id`)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;";
if(mysqli_query($link, $createTableSql)){
    echo "创建成功!";
} else{
    echo "创建失败:" . mysqli_error($link);
}

mysqli_close($link);  //关闭连接

方法二:使用 PDO 扩展

  1. 确保 PDO 扩展已启用

  2. 使用 PDO 对象连接到 MYSQL 数据库,示例代码如下:

$dsn = "mysql:host=localhost;dbname=databaseName";
$username = "root";
$password = "password";

try {
    $conn = new PDO($dsn, $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "连接成功!";
} catch(PDOException $e) {
    echo "连接失败:" . $e->getMessage();
}
  1. 执行 sql 语句,示例代码如下:
$createTableSql = "CREATE TABLE `user` (
            `id` int(11) NOT NULL AUTO_INCREMENT,
            `username` varchar(20) NOT NULL,
            `password` varchar(20) NOT NULL,
            PRIMARY KEY (`id`)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;";
try{
    $conn->exec($createTableSql);
    echo "创建成功!";
} catch(PDOException $e) {
    echo "创建失败:" . $e->getMessage();
}

$conn = null;   //关闭连接

方法三:使用类似 mysql_ 系列函数的函数

该方法已过时,不再推荐使用。若必须使用,可以在连接 MYSQL 数据库之前使用 mysql_connect() 函数连接,如下所示:

$link = mysql_connect("localhost", "root", "password");
if (!$link) {
    die("连接失败:" . mysql_error());
} else {
    mysql_select_db("databaseName", $link);
    echo "连接成功!";
}

然后可以使用 mysql_query() 函数执行 sql 语句,如下所示:

$createTableSql = "CREATE TABLE `user` (
            `id` int(11) NOT NULL AUTO_INCREMENT,
            `username` varchar(20) NOT NULL,
            `password` varchar(20) NOT NULL,
            PRIMARY KEY (`id`)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;";
if(mysql_query($createTableSql)){
    echo "创建成功!";
} else{
    echo "创建失败:" . mysql_error();
}

mysql_close($link); //关闭连接

以上是 PHP 连接 MYSQL 数据库的 3 种常用方法的详细攻略及示例代码,希望对你有帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP连接MYSQL数据库的3种常用方法 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • SQL Server模糊查询的常见方法总结

    (SQL Server模糊查询的常见方法总结)[### SQL Server模糊查询的常见方法总结] 在实际的SQL Server数据查询过程中,模糊查询是非常常见的需求。本文总结了SQL Server中常见的模糊查询方法,旨在帮助读者更高效地完成模糊查询操作。 1. LIKE 运算符 LIKE运算符是SQL Server中最常见的用于模糊查询的操作符之一,…

    database 2023年5月21日
    00
  • MySQL 的 20+ 条最佳实践

    MySQL 是目前应用范围最广的关系型数据库之一,因此对于 MySQL 的最佳实践有着非常重要的意义。以下是 MySQL 的 20+ 条最佳实践的详细攻略: 一、安全性 1. 避免使用root账户 MySQL创建时会默认生成root用户,但是为了安全起见,建议避免使用root账号登录MySQL,因为root拥有超级权限,如果被黑客攻破MySQL,将有可能造成…

    database 2023年5月19日
    00
  • SQL 创建垂直直方图

    下面是SQL创建垂直直方图的完整攻略: 什么是垂直直方图? 垂直直方图(Vertical Bar Chart) 是一种常用的数据可视化图表形式。它将数据以柱形的形式展现出来,柱形的高度表示相应数据的大小。垂直直方图通常用于显示不同类别的数据值,可以快速比较某些数据的差异。 通常,垂直直方图由两个元素组成: y轴:表示不同的数据点,即各种类别。 x轴:表示数据…

    database 2023年3月27日
    00
  • Redis自动化安装及集群实现搭建过程

    Redis自动化安装及集群实现搭建过程 介绍 Redis是一款开源的、高性能的NoSQL键值对存储数据库。它支持多种数据结构类型(如字符串、哈希、列表、集合、有序集合)和多种操作(如INCR、LPUSH、SADD)。 在本文中,我们将探讨如何自动化安装Redis以及如何使用Redis搭建一个可扩展的高可用性集群。 安装Redis 步骤1:下载和解压Redis…

    database 2023年5月22日
    00
  • sql cast,convert,QUOTENAME,exec 函数学习记录

    让我来为您详细讲解一下“SQL CAST、CONVERT、QUOTENAME、EXEC 函数学习记录”的完整攻略。 CAST 和 CONVERT 函数 在 SQL 中,我们经常需要将一种数据类型转换为另一个数据类型,这时候我们可以使用 CAST 或 CONVERT 函数。 CAST 函数用于将一个数据类型转换为另一个数据类型,语法如下: CAST(expre…

    database 2023年5月21日
    00
  • 详解redis集群选举机制

    详解Redis集群选举机制攻略 什么是Redis集群? Redis集群是Redis的分布式高可用解决方案,它支持自动分片、节点间复制以及故障转移等特性。Redis集群是由多个节点组成的,每个节点负责存储一定数据,同时也负责维护集群的状态和协调各个节点之间的数据交换。 Redis集群选举机制 在Redis集群中,每个节点都可以扮演以下三种角色之一: 主节点:负…

    database 2023年5月22日
    00
  • 如何保证缓存(redis)与数据库(MySQL)的一致性

    Redis是什么 首先要明白redis是一个数据库,redis是一个内存数据库(后端调用的,缓解sql数据库压力的,像双十一直接大量查询进入数据库,数据库会直接崩溃,所以在数据库前面先拦一下,先在缓存里查询,缓解压力), 所有数据基本上都存在于内存当中, 会定时以追加或者快照的方式刷新到硬盘中. 由于redis是一个内存数据库, 所以读取写入的速度是非常快的…

    Redis 2023年4月12日
    00
  • Mysql中行转列和列转行

    一、行转列 即将原本同一列下多行的不同内容作为多个字段,输出对应内容。 建表语句 DROP TABLE IF EXISTS tb_score; CREATE TABLE tb_score(    id INT(11) NOT NULL auto_increment,    userid VARCHAR(20) NOT NULL COMMENT ‘用户id’,…

    MySQL 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部