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

yizhihongxing

下面为你详细介绍 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日

相关文章

  • oracle保留两位小数解决方案

    如果你需要在Oracle数据库中保留两位小数,下面是一些可用的解决方案。 方案一:使用TO_CHAR函数 使用TO_CHAR函数可以将数字类型转换为字符类型,并指定小数点后的位数。例如,如果要将数字字段salary保留两位小数并转换为字符类型,可以使用以下SQL语句: SELECT TO_CHAR(salary, ‘FM999999999.99’) FROM…

    database 2023年5月22日
    00
  • MySQL20个高性能架构设计原则(值得收藏)

    MySQL20个高性能架构设计原则是提高MySQL数据库性能和可靠性的指南,本文将详细讲解这20个原则,并增加一些实际的示例说明。 1. 确定业务需求 首先,您需要明确业务需求并根据其来设计数据库架构。比如,某个电商网站需求每分钟处理10,000个订单,那么您需要考虑数据库的写入速度及并发能力是否满足该需求。 2. 使用恰当的存储引擎 MySQL支持不同的存…

    database 2023年5月19日
    00
  • SQL Server阻止保存修改表结构的解决方法

    下面是详细讲解“SQL Server阻止保存修改表结构的解决方法”的攻略。 问题描述 在SQL Server中,为了防止误操作,我们可以设置一个选项,使得表的结构不能被修改。但是如果需要修改表结构,就需要先禁用这个选项。那么如果修改完结构后,又需要重新开启这个选项,该怎么办呢? 解决方法 禁用表结构修改选项 首先,我们需要禁用表结构修改选项。具体步骤如下: …

    database 2023年5月22日
    00
  • SQL删除语句DROP、TRUNCATE、 DELETE 的区别

    当我们使用SQL进行数据管理时,删除数据是一个非常关键的操作。这时候,就涉及到三种不同的删除语句:DROP、TRUNCATE以及DELETE。这三种语句的作用是相似的,但每一种语句的实现方式都不同。下面我们详细讲解一下这三种语句的区别。 DROP语句 DROP语句用于完全删除表(table)、视图(view)、索引(index)等数据库对象。执行DROP语句…

    database 2023年5月21日
    00
  • MySql 5.7.17压缩包免安装的配置过程图解

    下面是“MySql 5.7.17压缩包免安装的配置过程图解”的完整攻略: 准备工作 下载Mysql压缩包并解压到某个目录下,例如D:\mysql-5.7.17-win32。 修改配置文件 在D:\mysql-5.7.17-win32目录下新建my.ini文件,内容如下: [mysql] default-character-set=utf8 [mysqld] …

    database 2023年5月22日
    00
  • 多阶段构建优化Go 程序Docker镜像

    关于多阶段构建优化Go程序Docker镜像的攻略,我会分以下几个部分进行详细讲解: 需求说明 Docker多阶段构建简介 Go程序的多阶段构建优化 示例1:基于multi-stage构建MySQL Go应用镜像 示例2:基于multi-stage构建Golang静态网站镜像 1. 需求说明 在使用Docker部署Go程序时,一般会通过Dockerfile构建…

    database 2023年5月22日
    00
  • Redis密码设置

    redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证。    1、初始化Redis密码:    在配置文件中有个参数: requirepass  这个就是配置redis访问密码的参数;    比如 requirepass test123;    (Ps:需重启Redis才能生效)    redis的…

    Redis 2023年4月13日
    00
  • Redis短结构与分片

      本文将介绍两种降低Redis内存占用的方法——使用短结构存储数据和对数据进行分片。   降低Redis内存占用有助于减少创建快照和加载快照所需的时间、提升载入AOF文件和重写AOF文件时的效率、缩短从服务器同步所需的时间,并能让Redis存储更多的数据。 Redis短结构   Redis为列表、集合、散列和有序集合提供了一组配置选项(配置文件中),这些选…

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