php的四个fetch语句

先给一个表
man:
|---------------|
|-name--|-age--|
|--AA---|--aa---|
|--BB---|--bb---|
|--CC---|--cc---|
|--CC---|--dd---|
|---------------|

SQL查询
$conn=mysqli_connect(...);//省略
$sql="select * from man";
$result=mysqli_query($conn,$sql);
1).mysqli_fetch_row($query)
返回【第一行/下一行】匹配记录,返回索引数组。
执行mysqli_fetch_row($result),返回:Array([0]=>AA  [1] =>aa),这是第一次执行的情况。
再执行一次,返回值变成:Array([0]=>BB [1]=>bb)
2).mysqli_fetch_array($query,arg)
arg取值范围:MYSQL_ASSOC、MYSQL_NUM、MYSQL_BOTH(默认)
返回【第一行/下一行】的匹配记录(与mysqli_fetch_row()一样)。
第二个参数取值:
1.MYSQL_BOTH(默认)
    返回的是关联数组和索引数组,执行mysqli_fetch_array($result),返回:Array([0]=>AA  [name]=>AA [1] =>aa [age]=>aa);
    再执行一次,返回:Array([0]=>BB  [name]=>BB [1] =>bb [age]=>bb)。
2.MYSQL_ASSOC
    返回关联数组,与mysqli_fetch_assoc()相同
3.MYSQL_NUM
    返回索引数组,此时的返回值与mysqli_fetch_row()相同
3).mysqli_fetch_assoc($query)
返回关联数组,第一次执行返回值:Array([name]=>AA [age]=>aa)
4).mysqli_fetch_object($query)
返回值是对象,而不是数组,第一次执行返回:sedClass Object([name]=>AA [age]=>aa)

举例

        $conn = new mysqli($hostname, $username, $password, $db_name);
        $query = "select * from user";
        $result = $conn->query($query);
        if(!$result) {
            echo $conn->error;
            exit;
        }
        $data = $result->fetch_assoc();
        echo $data['username'];
        echo $data['userid'];
原文地址:https://www.cnblogs.com/litlife/p/7512899.html