欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP中怎样去连接MySQL数据库?

程序员文章站 2022-03-09 09:38:06
...
在之前的文章中给大家带来了《怎样使用PHP中的spl_autoload_register() 和 __autoload() 函数?》,其中详细的介绍了PHP中这两种函数的用法,本篇我们来看一下PHP中怎样去连接数据库。希望对大家有帮助!

PHP中怎样去连接MySQL数据库?

在我们的日常开发中,数据库是一个网站必不可少的一部分,PHP作为一种网页编程技术,也必不可少的要与数据库打交道。但是数据库的种类很多,哪一种数据库是最适合PHP的?

通过PHP可以连接和操作数据库,PHP可以连接的数据库种类较多,其中MySQL数据库与PHP兼容性好,搭配使用也是最广泛的,MySQL数据库是跟PHP配套使用最流行的开放数据库系统,那接下来我们一起来学习看看什么是MySQL数据库以及PHP应该怎样连接它。

什么是MySQL数据库

MySQL 是一款安全、跨平台、高效的,并与多种编程语言紧密结合的数据库系统。MySQL 是一种在 Web 上使用在服务器上运行的数据库系统。其体积小、速度快、总体拥有成本低,MySQL 数据库可以称得上是目前运行速度最快的 SQL 语言数据库之一。除了具有许多其他数据库所不具备的功能外,MySQL 数据库还是一种完全免费的产品,用户可以直接通过网络下载 MySQL 数据库,而不必支付任何费用。大家感兴趣的话也可以点击《MySQL最新手册教程》进行学习。

MySQL数据库的特点

  • 功能强大,支持跨平台MySQL 适用于不同的应用场合,MySQL 支持至少 20 种以上的开发平台,这使得在任何平台下编写的程序都可以进行移植,而不需要对程序做任何的修改。

  • 运行速度快,高速是 MySQL 的显著特性。在 MySQL 中,能够极快地实现连接;SQL 函数使用高度优化的类库实现,运行速度极快。

  • 支持面向对象,PHP 支持混合编程方式。编程方式可分为纯粹面向对象、纯粹面向过程、面句对象与面向过程混合 3 种方式。

  • 安全性高,灵活和安全的权限与密码系统。

  • 成本低,MySQL 数据库是一种完全免费的产品,用户可以直接通过网络下载。

  • 支持各种开发语言,MySQL 为各种流行的程序设计语言提供支持,为它们提供了很多的 API 函数。

  • 数据库存储容量大,支持强大的内置函数,PHP 中提供了大量内置函数,几乎涵盖了 Web 应用开发中的所有功能。

数据库的应用

数据库是一种专门用来管理数据资源的系统,数据其实就是计算机每天打交道需要处理的对象,无论是文字、图形还是声音等等这些都是数据的一种形式。在文件式管理方法中,有着诸如不便移植、浪费储存空间等问题,但是数据库更够更好的解决这些问题。

数据库立足于数据本身的管理,他将所有的数据保存到数据库中,进行有序的组织,并且借助数据库管理系统能够更方便的使用数据库中的数据。可以理解为数据库就是经过了计算机整理后的数据,管理这些数据的软件就是数据管理系统。一个数据库系统是由数据库和数据管理系统两个部分组成的。

在同一个 MySQL 数据库服务器中可以创建多个数据库,如果把每个数据库看成是一个“仓库”,那么网站中的内容数据就存储在这个仓库中。而对数据库中数据的存取及维护等,都是通过数据库管理系统软件进行管理的。

连接MySQL数据库

使用 PHP 操作 MySQL 数据库是进行 Web 开发的必然要求之一,PHP 中提供了完整的操作 MySQL 数据库的函数,这些函数包括了从连接数据库、执行 SQL 语句、处理数据结果集到关闭数据库的方方面面。通过这些函数,使基于 MySQL 数据库的 Web 开发高效而简单。那接下来我们就来看一下PHP怎样连接到MySQL数据库。

在连接到数据库之前,我们要确保开启了 PHP 中的 mysqli 扩展。开启 mysqli 扩展就是将 php.ini 配置文件中extension=mysqli这一项注释去掉就行了。我们可以通过 phpinfo() 函数查看来查看mysqli 扩展是否开启成功:

<?php
phpinfo();
?>

在输出结果中出现:

PHP中怎样去连接MySQL数据库?

就表示已经开启PHP中的 mysqli 扩展,在我们确认已经成功开启后,就可以通过扩展中的mysqli_connect() 函数来进行PHP与MySQL数据库的连接。

其中mysqli_connect() 函数的语法格式如下:

mysqli_connect(
    [string $host = ini_get("mysqli.default_host")
    [, string $username = ini_get("mysqli.default_user")
    [, string $password = ini_get("mysqli.default_pw")
    [, string $dbname = ""
    [, int $port = ini_get("mysqli.default_port")
    [, string $socket = ini_get("mysqli.default_socket")
]]]]]] )

其中需要注意的是:

  • $host 是可选参数,要连接的服务器;

  • $username 是可选参数,登录所使用的 MySQL 用户名;

  • $password 是可选参数,登录所用的密码;

  • $dbname 是可选参数,执行查询时使用的默认数据库;

  • $port 是可选参数,指定连接到 MySQL 服务器的端口号;

  • $socket 是可选参数,指定 socket 或要使用的已命名 pipe;

  • mysqli_connect()函数是 mysqli::__construct() 函数的别名,所有使用对象 mysqli() 也可以实现连接数据库。

接下来我们通过示例来看一下应该怎样连接,示例如下:

<?php
    $host     = 'localhost';
    $username = 'root';
    $password = 'root';
    $dbname   = 'test';
    $port     = '3306';
    $link     = @mysqli_connect($host,$username,$password,$dbname,$port);   // 连接到数据库
    if($link){
        mysqli_set_charset($link,'UTF-8');      // 设置数据库字符集
        $sql    = 'select * from user';         // SQL 语句
        $result = mysqli_query($link, $sql);    // 执行 SQL 语句,并返回结果
        $data   = mysqli_fetch_all($result);    // 从结果集中获取所有数据
        mysqli_close($link);
    }else{
        die('数据库连接失败!');
    }
    echo '<pre>';
    print_r($data);
?>

输出结果会获取数据库中你所设置的字符集,若是没有连接上两种输出结果如下所示:

PHP中怎样去连接MySQL数据库?PHP中怎样去连接MySQL数据库?

上述示例是面向过程的一种方法,下面看一下面向对象的方法:

<?php
    $host     = 'localhost';
    $username = 'root';
    $password = 'root';
    $dbname   = 'test';
    $mysql    = new Mysqli($host, $username, $password, $dbname);
    if($mysql -> connect_errno){
        die('数据库连接失败:'.$mysql->connect_errno);
    }else{
        $mysql -> set_charset('UTF-8'); //  设置数据库字符集
        $sql = 'select * from user';         // SQL 语句
        $result = $mysql -> query($sql);
        $data = $result -> fetch_all();
        $mysql -> close();
    }
    echo '<pre>';
    print_r($data);
?>

输出结果与上述示例中的输出结果一致。

想要关闭连接的话,一般情况下,连接会在脚本运行完毕后自动关闭,当然也可以使用代码来关闭连接,示例如下:

$conn->close();

上述是面向对象方法时的关闭连接代码,下面看一下面向过程方法的代码,示例如下:

mysqli_close($conn);

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

以上就是PHP中怎样去连接MySQL数据库?的详细内容,更多请关注其它相关文章!