PHP MySQL 数据库:连接 MySQL 服务器 1 个改进

PHP连接数据库

使用 PHP 操作 MySQL数据库是进行 Web 开发的必然要求之一,PHP 中提供了完整的操作MySQL数据库的函数,这些函数包括了从连接数据库、执行 SQL语句、处理数据结果集到关闭数据库的方方面面。通过这些函数,使基于MySQL 数据库的 Web开发高效而简单。通常 PHP 访问 MySQL数据库的步骤如下图所示。

mysql

在此之前,我们需要确保开启了PHP中的mysqli 扩展。以 Windows 系统为例,开启 mysqli 扩展就是将php.ini配置文件中extension=mysqliphp7)或extension=php_mysqli.dllphp5)一项的注释去掉即可。

在 PHP 早期版本中我们使用 MySQL 扩展。但该扩展在 2012 年开始不建议使用。

开启成功后可以使用 phpinfo()函数查看,示例代码如下:

<?php
    phpinfo();
?>

在输出的界面中搜索 mysqli,出现如下界面则表示开启成功。

phpinfo

连接MySQL数据库

前面我们成功开启了 PHP中的 mysqli扩展,使用扩展中的 mysqli_connect()函数就可以实现MySQL数据库的连接,函数语法格式如下:

<?php
    $con=mysqli_connect("localhost","wrong_user","my_password","my_db");
    // 检查连接
    if (!$con)
    {
        die("连接错误: " . mysqli_connect_error());
    }
?>

定义和用法

mysqli_connect()函数打开一个到 MySQL 服务器的新的连接。

语法

mysqli_connect(host,username,password,dbname,port,socket);
参数 描述
host 可选。规定主机名或 IP 地址。
username 可选。规定 MySQL 用户名。
password 可选。规定 MySQL 密码。
dbname 可选。规定默认使用的数据库。
port 可选。规定尝试连接到 MySQL 服务器的端口号。
socket 可选。规定 socket 或要使用的已命名 pipe。

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

示例

下面通过一个简单的代码实现连接数据库。

1. 面向过程风格的写法

<?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);
?>

2. 面向对象风格的写法

<?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);
?>
本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!