Php 使用MySQL从数据库表中选择大量行
我有一个具有如下属性的表:Php 使用MySQL从数据库表中选择大量行,php,sql,mysql,Php,Sql,Mysql,我有一个具有如下属性的表: likes(id, message, ip, time) SELECT message FROM likes WHERE id IN (1, 2, 3, 4, 5, ...) id是主键,并且是自动递增的。我要做的是根据我提供的id从这个表中选择30行 我可以构建一个随机数组,其中包含我想从表中获取的所有ID,现在我只需要开始这样做。我通常的SQL查询是: SELECT message FROM `likes` WHERE id=$id LIMIT 1 但我需要
likes(id, message, ip, time)
SELECT message FROM likes WHERE id IN (1, 2, 3, 4, 5, ...)
id是主键,并且是自动递增的。我要做的是根据我提供的id从这个表中选择30行
我可以构建一个随机数组,其中包含我想从表中获取的所有ID,现在我只需要开始这样做。我通常的SQL查询是:
SELECT message
FROM `likes`
WHERE id=$id
LIMIT 1
但我需要选择30行。有两种方法可以做到这一点,我可以使用一个包含30个查询的FOR循环,或者将它们组合成一个查询并同时获取它们。显然,我想做后者
有谁能帮我一次从数据库表中获取多行的SQL查询吗?也许我可以举一个例子来说明如何将它们解析成一个数组以便于检索
非常感谢,谢谢。您可以使用,所以应该是这样的:
likes(id, message, ip, time)
SELECT message FROM likes WHERE id IN (1, 2, 3, 4, 5, ...)
将给您一个数组,$results,按键['id']排序,每个都是每个应答键上的一个数组-'id'、'message'、'ip'、'time'。例如:
for($results as $key => $val) {
echo "${val['ip']} posted {$var['message']} on {$val['time']} <br/>";
}
我很困惑-30行被什么限制了?它不能受id=$id的限制,因为这样你会得到同一行的30个。除非这是你想要的?不,我在一个数组中有我想要的所有行的ID。我希望遍历该数组中的所有这些ID,并从该行获取message属性。我使用的示例是从表中获取一行的示例:在PHP中,使用$ids=array1,2,3,…;创建一个数组,。。。;。