$query = "SELECT field1, field2 FROM table WHERE id IN (1, 2, 3, 4, 5)"
$result = mysql_query($query);
$array = mysql_fetch_assoc($result);
如果没有id#3,则$ array ['field1'] [3]返回下一个结果(如果有的话)。
但在这种情况下我需要它返回0 因此$ array应该包含5个元素,即使并非所有元素都在数据库中。
是否可以这样做?
答案 0 :(得分:0)
如果您确定要请求的ID,那么最简单的方法是使用PHP。
首先生成一个正确大小的空数组(不是一个非常耗费机器的操作),然后获取所有行,并在获取时立即将它们放在右键上。
像
$array = range(0,5);
while(mysql_fetch_assoc($result)) {
$array[$result['id']] = $result;
}
答案 1 :(得分:0)
您也可以使用array_merge执行与douwe建议相同的操作,即
$query = "SELECT field1, field2 FROM table WHERE id IN (1, 2, 3, 4, 5)"
$result = mysql_query($query);
$array = mysql_fetch_assoc($result);
$myarray = array(0=>"");
$newarray = array_merge($myarray,$array);