了解mysqli_fetch_array()

时间:2015-12-10 22:41:13

标签: php fetch

有没有办法让代码更清晰? 我希望像$query4week一样访问$query4week[0]行。mysqli_query()。 但fetch_array返回一个对象,我不知道如何访问其特定行。因此,使用for$sql2 = "SELECT * FROM meals ORDER BY RAND() LIMIT 7"; $query4week = mysqli_query($con, $sql2) or die(mysqli_error($con)); for ($i = 0; $result = mysqli_fetch_array($query4week, MYSQLI_ASSOC); $i++) { $meal4week[$i] = $result['meal']; } 循环,我决定创建自己的索引。

Xamarin.Forms.Forms.ViewInitialized += (object sender, Xamarin.Forms.ViewInitializedEventArgs e) => {
                if (!string.IsNullOrWhiteSpace(e.View.StyleId))
                {
                    e.NativeView.ContentDescription = e.View.StyleId;
                }
            };

我仍在学习PHP,但对OOP主题却相当薄弱,请耐心等待: - )

4 个答案:

答案 0 :(得分:2)

如果你提取一个关联数组,你就不需要for循环。

1#1 <> 2#2

答案 1 :(得分:1)

以这种方式做到

$i = 0; 
while ($result = mysqli_fetch_array($query4week, MYSQLI_ASSOC))
{
    $meal4week[$i] = $result['meal'];
    $i++;
}

应该有用。

答案 2 :(得分:1)

这里已经有了一些非常合理的答案,但是这个评论有点长。如果你要创建的是一个以索引0开头的数字索引数组,则不需要显式定义索引。

while($row = mysqli_fetch_array($query4week, MYSQLI_ASSOC)) {
    $meal4week[] = $row['meal'];
}

应该工作得很好。不需要$i

答案 3 :(得分:0)

mysqli_query返回一个代表查询结果的资源。您需要使用mysql_fetch_*函数逐行迭代结果。所以是的,如果你对第一行感兴趣,你需要某种循环。