php与MySQL(php内置mysql函数)

时间:2023-03-09 13:27:10
php与MySQL(php内置mysql函数)

获取数据

在讲解下面的方法之前,我们首先来看一下我们的数据表的结构:

php与MySQL(php内置mysql函数)

mysqli_fetch_row()函数

mysqli_fetch_row()函数从结果集中取得一行,并以索引数组形式返回。

语法:

mysqli_fetch_row(result); 

参数说明

php与MySQL(php内置mysql函数)

返回值:

返回一个与所取得行相对应的字符串数组。该数组是一个一维索引数组,每一个下标与数据库中的排序相对应。如果在结果集中没有更多的行则返回 NULL。

实例:

    $conn=mysqli_connect("localhost","root","",'test');
$sql="SELECT * FROM admin";
$res=mysqli_query($conn,$sql);
while($row=mysqli_fetch_row($res)){
print_r($row);
}

以上代码是打印出admin表中的所有字段,如下图所示:(mysqli_fetch_row()函数执行一次只能打印出一条数据,如果需要打印出所有的数据,需要借助while语句,如上代码所示)

php与MySQL(php内置mysql函数)

mysqli_fetch_array()函数

mysqli_fetch_array() 函数从结果集中取得一行作为关联数组(MYSQLI_ASSOC),或索引数组(MYSQLI_NUM),或二者兼有(MYSQLI_BOTH)。

mysqli_fetch_array(result,resulttype); 

参数说明:

php与MySQL(php内置mysql函数)

如果第二个参数不给,则默认返回一个关联数组和一个索引数组。

实例:

    $conn=mysqli_connect("localhost","root","",'test');
$sql="SELECT * FROM admin";
$res=mysqli_query($conn,$sql);
while($row=mysqli_fetch_array($res)){
print_r($row);
}

上述代码执行结果如下:

php与MySQL(php内置mysql函数)

mysqli_fetch_assoc()函数

mysqli_fetch_assoc()函数从结果集中取得一行作为关联数组。该方法的语法跟mysqli_fetch_row()是一样的,只是返回的值不同

如下实例:

    $conn=mysqli_connect("localhost","root","",'test');
$sql="SELECT * FROM admin";
$res=mysqli_query($conn,$sql);
while($row=mysqli_fetch_assoc($res)){
print_r($row);
}

以上代码的执行结果如下:

php与MySQL(php内置mysql函数)

mysqli_fetch_all()

mysqli_fetch_all() 函数从结果集中取得所有行作为关联数组,或数字数组,或二者兼有。

mysqli_fetch_all(result,resulttype); 

参数说明:

php与MySQL(php内置mysql函数)

如下实例:

$conn = mysqli_connect('localhost','root','','test01'); //建立数据库连接
$sql="SELECT * FROM admin";
$res=mysqli_query($conn,$sql);
$rows=mysqli_fetch_all($res);
print_r($rows);

查询结果(右边为数据表结构):

php与MySQL(php内置mysql函数)php与MySQL(php内置mysql函数)

获取数量

mysqli_num_rows()

mysqli_num_rows() 函数返回结果集中行的数量。

 mysqli_num_rows(result); 

参数说明:

php与MySQL(php内置mysql函数)

实例:

$sql="SELECT * FROM admin";
$res=mysqli_query($conn,$sql);
$num=mysqli_num_rows($res);
print_r($num);//打印出3

mysqli_affected_rows()

mysqli_affected_rows() 函数返回前一次 MySQL 操作(SELECT、INSERT、UPDATE、REPLACE、DELETE)所影响的记录行数。

 mysqli_affected_rows(connection); 

参数说明:

php与MySQL(php内置mysql函数)

返回值:

一个 > 0 的整数表示所影响的记录行数。0 表示没有受影响的记录。-1 表示查询返回错误。

实例:

$conn = mysqli_connect('localhost','root','','test01'); //建立数据库连接
$sql="UPDATE admin SET password='123' where username='npf'";
$res=mysqli_query($conn,$sql);
echo mysqli_affected_rows($conn); //打印出1

在本文中只挑了几个常用的作为讲解,其他的可以查阅https://www.w3cschool.cn/php/php-ref-mysqli.html