我在这里写了一些查询。查询是正确的,但不知道为什么它不回应任何东西:
$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行内容;
答案 0 :(得分:2)
首先使用mysqli
库进行查询,然后尝试使用mysql
来获取一行。
mysql
和mysqli
是不同的库。你应该只使用其中一个。由于不推荐使用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。