目录
1 图解
2 建立连接
第一种方式:先建立连接后选择数据库。
<?php
$mysqli=new mysqli('localhost','root','root');
$mysqli->select_db('database');
?>
第二种方式:建立连接并指定数据库。
<?php
$mysqli=new mysqli('localhost','root','root','database');
?>
第三种方式:建立连接后通过connect来打开数据库。
<?php
$mysqli=new mysqli();
$mysqli->connect('localhost','root','root','database');
?>
建立连接后可以查看有无错误信息
<?php
echo $mysqli->connect_errno; //错误编号
echo $mysqli->connect_error; //错误信息
?>
php官方MySQLi类说明传送门:https://www.php.net/manual/zh/class.mysqli.php
3 设置字符集
建立连接后可以使用set_charset()成员函数进行设置字符集。
<?php
$mysqli->set_charset('utf8');
?>
4 执行SQL语句
跟MySQL客户端类似,PHP要操作数据库,首先把SQL语句写好,然后调用query方法进行操作(query一次只能执行一条SQL)。
例如:查询user表中的所有数据(SELECT * FROM user)。
<?php
$mysqli=new mysqli('localhost','root','root','article');
$mysqli->set_charset('utf8');
$sql="SELECT * FROM user";
$result=$mysqli->query($sql);
print_r($result);
?>
查询的返回结果为一个对象,打印出来的结果如下,其中num_rows为结果集中的条数。
mysqli_result Object
(
[current_field] => 0
[field_count] => 2
[lengths] =>
[num_rows] => 1
[type] => 0
)
php官方mysqli_result类说明传送门:https://www.php.net/manual/zh/class.mysqli-result.php
对于结果集的操作
fetch_row():以索引数组的形式返回一条记录。
例如:当结果集中有记录时,以索引数组的形式遍历整个结果集。
// 注:$result为query()查询后返回的结果
if( $result && $result->num_rows>0){
while($arr=$result->fetch_row()) {
var_dump($arr);
}
}
fetch_assoc():以关联数组的形式返回一条记录。
例如:当结果集中有记录时,以关联数组的形式遍历整个结果集。
// 注:$result为query()查询后返回的结果
if( $result && $result->num_rows>0){
while($arr=$result->fetch_assoc()) {
var_dump($arr);
}
}
5 释放结果集
当使用完查询结果之后,我们可以使用free()成员函数进行释放结果集。
<?php
$mysqli=new mysqli('localhost','root','root','brell');
$mysqli->set_charset('utf8');
$sql="SELECT * FROM user";
$result=$mysqli->query($sql);
$result->free();
?>
6 关闭连接
当操作数据库完毕后记得使用close成员函数关闭数据库连接。
<?php
$mysqli->close();
?>