foreach循环中的数组


array in foreach loop

我正在从mysql数据库表中获取数据。该表具有ID"POST"列。我已经通过id从底部订购了帖子,所以我总是把最新的帖子放在第一位。但是,当我想回声特定的帖子时(例如,id为5),我不能用$col = mysqli_fetch_array($result); echo $col;回音。我尝试过foreach循环,但它echo的所有帖子。所以我想,如果我能用foreach循环将它们放入数组,它就能完成任务。

$sql = "SELECT * FROM `post` ORDER BY `id` DESC";
$result = mysqli_query($con, $sql);
$col = mysqli_fetch_array($result);
foreach($col as $cols) {
}

我尝试了很多事情,花了很多时间在研究上,但仍然不知道如何做到

谢谢你的想法和帮助。

$sql = "SELECT * FROM `post` ORDER BY `id` DESC";
$result = mysqli_query($con, $sql);
$col = mysqli_fetch_array($result);
foreach($col as $cols) {
    if($col['id'] == 5) {
        print_r($col);
    }
}

mysqli_fetch_array将结果行作为关联数组、数字数组或两者兼而有之。您需要指定要打印出的列的名称。因为结果集中可能有多行,所以应该使用循环(while),如下所示:

while ($row = mysqli_fetch_array($result)) { echo $row['POST']; // 'POST' here is the name of the column you want to print out }

希望这能有所帮助!

更新:

如果你想得到一个特定的帖子,你必须把你的SQL改成这样:

$sql = "SELECT * FROM `post` WHERE `id` = $wanted_post_id";