繁体   English   中英

MySQLi不按顺序返回行

[英]MySQLi not returning rows in order

这可能不是一个很难回答的问题。 我在编写此PHP函数时遇到了麻烦...它逐行返回行,但每次返回的行数都递增4。 因此,将输出第一行,然后输出第五行,然后输出第九行...

function showDatabases() {

# $_GET variables from the URL.
$database = mysql_real_escape_string($_GET['database']);
$table    = mysql_real_escape_string($_GET['table']);   

$mysqli = new mysqli('127.0.0.1', 'root', '', $database);

$query_one = $mysqli->query("SELECT * from $table");

$num_rows   = mysqli_num_rows($query_one);
$num_fields = mysqli_num_fields($query_one);

    for ($x = 0; $x < $num_rows; $x++) {
       for ($c = 0; $c < $num_fields; $c++) {
            $row = mysqli_fetch_row($query_one);
            echo($row[$c]."&nbsp;&nbsp;");
       }
    echo("<br/>");
    }
}

谢谢!

mysqli_fetch_row提取了整行并将指针移至下一行。 每行只能调用一次; 现在您每列调用一次。

那是,

for ($x = 0; $x < $num_rows; $x++) {
   $row = mysqli_fetch_row($query_one);
   for ($c = 0; $c < $num_fields; $c++) {
        echo($row[$c]."&nbsp;&nbsp;");
   }
echo("<br/>");
}

您使事情变得复杂,只需一个循环即可完成

$query = "SELECT * from $table";
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_assoc()) {
        echo $row['fieldname']."&nbsp;&nbsp;";
    }
}

我建议您在一段时间内添加订单,默认订单不是id订单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM