PHP

PHP 知识量:7 - 20 - 67

7.1 MySQLi对象接口><

接口简介- 7.1.1 -

php最常搭档的数据库管理系统当属MySQL,而MySQLi对象接口是php用于连接MySQL数据库的主要工具,它体现了面向对象方式的MySQL增强扩展。

建立数据库连接- 7.1.2 -

MySQLi对象接口实际是一个php内建的核心类,要使用它,可以利用MySQLi类的一系列函数建立与数据库的连接。实际上MySQLi的使用可以分为按过程方式和按对象方式,以下以过程方式为例进行说明:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>index</title>
    </head>
    <body>
        <?php
        //数据库服务器的URL地址
        $host = 'localhost';
        //数据库服务器用户名
        $username = 'james';
        //数据库服务器登录密码
        $passwd = '1a2b3c';
        //数据库名称
        $dbname = 'website';
        //默认字符编码
        $charset = 'utf8';
        //建立数据库连接。
        $con = mysqli_connect($host, $username, $passwd, $dbname);
        if (mysqli_connect_errno()) {
            die("数据库连接异常。");
        }
        //设置数据库默认字符编码
        if (!mysqli_set_charset($con, $charset)) {
            die("数据库字符编码设置异常。");
        }
        ?>
    </body>
</html>

以上代码是建立数据库连接的基本操作。

1、首先,设置必要的连接参数,具体包括:

  • 数据库服务器的URL地址:$host

  • 数据库服务器用户名:$username

  • 数据库服务器登录密码:$passwd

  • 数据库名称:$dbname

2、然后,调用mysqli_connect()函数,它的参数由以上四项组成,必须按顺序填写。如果参数是正确的,调用后就会建立一个到数据库“website”的连接,并将这个数据库连接资源赋值给变量$con。

3、随后,mysqli_connect_errno()函数用于检测数据库连接是否正确建立,如果出错,它将返回“TRUE”。die()函数将停止代码的运行,并显示其参数内容。

4、最后,mysqli_set_charset()用于设置数据库连接的字符编码,以防止出现乱码。它的第一个参数是数据库连接资源变量,即$con;第二个参数是字符编码变量$charset,这里它被设为“utf8”。

关闭数据库连接- 7.1.3 -

通常情况下,php会自动关闭不需要的数据库连接资源,但是及时手动关闭连接仍然是一个好习惯,而且有时也需要提前关闭。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>index</title>
    </head>
    <body>
        <?php
        //数据库服务器的URL地址
        $host = 'localhost';
        //数据库服务器用户名
        $username = 'james';
        //数据库服务器登录密码
        $passwd = '1a2b3c';
        //数据库名称
        $dbname = 'website';
        //建立数据库连接。
        $con = mysqli_connect($host, $username, $passwd, $dbname);
        //关闭数据库连接
        if (mysqli_close($con)) {
            echo '数据库已关闭';
        }
        ?>
    </body>
</html

以上代码中,通过mysqli_close()函数来关闭一个数据库连接,它的参数是要关闭的数据库连接变量,如果关闭成功就返回“TRUE”,失败返回“FALSE”。