获取前5行的内容并回显它们

时间:2013-10-26 13:45:25

标签: mysql sql

我在这里写了一些查询。查询是正确的,但不知道为什么它不回应任何东西:

$sql3= mysqli_query($con,"select post from facebook_posts where p_id >  (select MAX(p_id) - 5 from facebook_posts);");
while ($row = @mysql_fetch_array($sql3))
{
    echo $row['post'];
    echo '<br/>';

}

表已有数据。当我在mysql中测试查询时,它提供了5行内容;

2 个答案:

答案 0 :(得分:2)

首先使用mysqli库进行查询,然后尝试使用mysql来获取一行。

mysqlmysqli是不同的库。你应该只使用其中一个。由于不推荐使用mysql,因此您应该使用这两者中的mysqli

答案 1 :(得分:1)

您正在混淆mysqli_*mysql_*功能。使用mysql_fetch_array执行查询时,mysqli_query函数无法获取任何结果。您不应再使用mysql_*函数,因为它们已被弃用。

此外,如果要在MySQL中限制结果,可以使用LIMIT - 子句而不是计算最大/最小ID。

如果您将代码更改为以下内容,则应该可以正常运行。

$result = mysqli_query($con,"select post from facebook_posts where p_id >  (select MAX(p_id) - 5 from facebook_posts)");
while ($row = $result->fetch_array(MYSQLI_ASSOC))
{
  echo $row['post'];
  echo '<br/>';
}

有关使用mysqli获取结果的更多信息,您可以查看here