mysqli_fetch_assoc不起作用

时间:2016-04-15 06:49:58

标签: php

为什么第二次尝试时第一行没有显示?在屏幕截图中,第一行在第一次回显时突出显示。

output

[![enter image description here][1]][1]/*=================================================================================================================
        mysqli_fetch_assoc - returns data in an associative array
        mysqli_fetch_row - returns data in a numeric array
        mysqli_fetch_array - returns data in both an associative and a numeric array
    */
    $query2 = "SELECT * FROM User";
    //$result3 = mysqli_query ( $con, $query2) or die ("Couldn't execute SELECT query");
    $result3 = mysqli_query ( $con, $query2) or die (mysqli_error($con));

    $row = mysqli_fetch_assoc($result3); //returns an array called $row with column names as keys. Get one row of data
                                         //If you need more than one row of data, use the function in a loop

    echo $row['Title'] ." - ". $row['FName'] ." - ". $row['LName']; //one row of data. It is fine when checking a password

    //extract function - splits the array into variables that have same name as the key
    extract($row);
    echo "<hr>".$FName; //variable having same name as the key, also identical to column name
    echo "<br>Number of rows in the User table: ".mysqli_num_rows($result3);

    echo "<table>";
    echo "<th>User Id</th> <th>Title</th> <th>First Name</th> <th>Last Name</th> <th>Email</th>";
    while( $row = mysqli_fetch_assoc($result3) ){
        extract($row);
        echo "<tr>";
        echo "<td>".$UserId."</td>" . "<td>".$Title."</td>" . "<td>".$FName."</td>" . "<td>".$LName."</td>" . "<td>".$Email."</td>" ;
        echo "</tr>";
    }
    echo "</table>";

    echo "<hr>My connection to the MySQL database";

2 个答案:

答案 0 :(得分:1)

$row = mysqli_fetch_assoc($result3); 

因为当您在循环之前执行此操作时,将指针移动到下一行,以便循环从第二行开始。

在循环之前,您可以将指针重置为第1行

mysqli_data_seek($result3,0);

答案 1 :(得分:0)

因为,你正在做两次mysqli_fetch_assoc,而不需要重新设置指针。 Hanky Panky说得对。