在您能够访问并处理数据库中的数据之前,您必须创建到达数据库的连接。在PHP中,这个任务通过 mysqli_connect() 函数完成。
在 PHP 早期版本中我们使用MySQL扩展。但该扩展在 2012 年开始不建议使用。PHP 5 及以上版本建议使用以下方式连接 MySQLI扩展。
PHP mysqli_connect()函数用于连接MySQL数据库。如果连接成功则返回对象,否则返回NULL。
语法:
mysqli_connect ([ string $host = ini_get("mysqli.default_host") [, string $username = ini_get("mysqli.default_user") [, string $passwd = ini_get("mysqli.default_pw") [, string $dbname = "" [, int $port = ini_get("mysqli.default_port") ]]]]] ) |
简单语法:
mysqli_connect(连接的服务器,用户名,密码,数据库名,端口) |
参数名 | 描述 |
---|---|
host | 可选。规定要连接的服务器。默认是 "localhost:3306"。 |
username | 可选。规定登录所使用的用户名。默认值是拥有服务器进程的用户的名称。 |
passwd | 可选。规定登录所用的密码。默认是 ""。 |
dbname | 可选。如果提供,将指定在执行查询时使用的默认数据库。 |
port | 可选。指定要尝试连接到MySQL服务器的端口号。 |
案例:
现在连接localhost(本地服务器),“test”数据库用户名为"root",root用户的密码为"root",端口号为"3306"的语句。
<?php $link = @mysqli_connect('localhost', 'root', 'root', 'test','3306'); if (!$link) { die('连接失败!'.mysqli_connect_error()); }else{ echo '成功连接... ' . mysqli_get_host_info($link) . "\n"; } ?>
结果:
成功连接... localhost via TCP/IP |
错误位置 | 结果显示 |
---|---|
host(服务器错误显示) | php_network_getaddresses: getaddrinfo failed: 不知道这样的主机。 |
username(用户和密码错误显示) | Access denied for user 'root'@'localhost' (using password: YES) |
passwd(用户和密码错误显示) | Access denied for user 'root'@'localhost' (using password: YES) |
dbname(数据库错误显示) | Unknown database 'test' |
port(端口错误显示) | 由于目标计算机积极拒绝,无法连接。 |
PHP mysqli_close()函数用于断开与MySQL数据库的连接。 如果连接关闭则返回true,否则返回false。
语法:
bool mysqli_close ( mysqli $link ); |
案例:
mysqli_close($link);