PHP MySQL 数据库:连接 MySQL 服务器
PHP连接数据库
使用 PHP 操作 MySQL
数据库是进行 Web
开发的必然要求之一,PHP
中提供了完整的操作MySQL
数据库的函数,这些函数包括了从连接数据库、执行 SQL
语句、处理数据结果集到关闭数据库的方方面面。通过这些函数,使基于MySQL
数据库的 Web
开发高效而简单。通常 PHP
访问 MySQL
数据库的步骤如下图所示。
在此之前,我们需要确保开启了PHP
中的mysqli
扩展。以 Windows
系统为例,开启 mysqli
扩展就是将php.ini
配置文件中extension=mysqli
(php7
)或extension=php_mysqli.dll
(php5
)一项的注释去掉即可。
在 PHP 早期版本中我们使用 MySQL 扩展。但该扩展在 2012 年开始不建议使用。
开启成功后可以使用 phpinfo()
函数查看,示例代码如下:
<?php
phpinfo();
?>
在输出的界面中搜索 mysqli
,出现如下界面则表示开启成功。
连接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);
?>