PHP使用mysqli扩展连接MySQL数据库

时间:2022-08-27 12:45:26

1.面向对象的使用方式

?
1
$db = new mysqli('localhost', 'root', '123456', 'dbname');

如果建立连接时未指定数据库则选择使用的数据库,切换使用的数据库

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$db->select_db('dbname');
 
$query = "SELECT * FROM user WHERE uid=4";
 
$result = $db->query($query);
 
$result_num = $result->num_rows;
 
$row = $result->fetch_assoc();  //返回一个关联数组,可以通过$row['uid']的方式取得值
 
$row = $result->fetch_row();  //返回一个列举数组,可以通过$row[0]的方式取得值
 
$row = $result->fetch_array();  //返回一个混合数组,可以通过$row['uid']和$row[0]两种方式取得值
 
$row = $result->fetch_object();  //返回一个对象,可以通过$row->uid的方式取得值
 
$result->free();  //释放结果集
 
$db->close();  //关闭一个数据库连接,这不是必要的,因为脚本执行完毕时会自动关闭连接

当进行INSERT、UPDATE、DELETE操作时,使用$db->affected_rows查看影响行数

2.面向过程的使用方式

?
1
$db = mysqli_connect('localhost', 'root', '123456', 'dbname');

如果建立连接时未指定数据库则选择使用的数据库,切换使用的数据库

?
1
mysqli_select_db($db, 'dbname');

查询数据库

?
1
2
3
4
5
$query = "SELECT * FROM user WHERE uid=4";
 
$result = mysqli_query($db, $query);
 
$result_num = mysqli_num_rows($result);

返回一行结果

?
1
2
3
4
5
6
7
$row = mysqli_fetch_assoc($result);  //返回一个关联数组,可以通过$row['uid']的方式取得值
 
$row = mysqli_fetch_row($result);  //返回一个列举数组,可以通过$row[0]的方式取得值
 
$row = mysqli_fetch_array($result);  //返回一个混合数组,可以通过$row['uid']和$row[0]两种方式取得值
 
$row = mysqli_fetch_object($result);  //返回一个对象,可以通过$row->uid的方式取得值

断开数据库连接

?
1
2
3
mysqli_free_result($result);  //释放结果集
 
mysqli_close($db);  //关闭一个数据库连接,这不是必要的,因为脚本执行完毕时会自动关闭连接

当进行INSERT、UPDATE、DELETE操作时,使用mysqli_affected_rows()查看影响行数