有没有办法使下面的代码变得更干净?我想像这样访问$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'];
}我还在学习PHP,但对面向对象的主题还很薄弱,请耐心点:-)
发布于 2015-12-10 22:49:08
mysqli_query返回一个表示查询结果的资源。您需要使用mysql_fetch_*函数逐行迭代结果。所以是的,如果你对第一行感兴趣的话,你需要某种循环。
发布于 2015-12-10 22:46:17
用这种方式来做
$i = 0;
while ($result = mysqli_fetch_array($query4week, MYSQLI_ASSOC))
{
$meal4week[$i] = $result['meal'];
$i++;
}应该行得通。
发布于 2015-12-10 22:47:09
如果获取关联数组,则不应该需要for循环。
$i = 0;
while($row = mysqli_fetch_array($query4week, MYSQLI_ASSOC))
{
$meal4week[$i] = $row['meal'];
$i++;
}https://stackoverflow.com/questions/34213047
复制相似问题