Pour comparer tu peux t'amuser à tester la différence entre ces deux requêtes :
Code PHP :
<?php
// Récupérer les noms des persos d'ID 1 à 20 : requête dans la boucle
$names = array();
for ($i=0; $i<20; $i++) {
$res = mysql_query('SELECT name FROM users WHERE id = ' . $i);
if ($row = mysql_fetch_assoc($res)) {
$names[] = $row['name'];
}
}
Code PHP :
<?php
// Récupérer les noms des persos d'ID 1 à 20 : requête hors de la boucle
$values = array();
for ($i=0; $i<20; $i++) {
$values[] = $i;
}
$res = mysql_query('SELECT name FROM users WHERE id IN (' . implode(',', $values) . ')');
$names = array();
while ($row = mysql_fetch_assoc($res)) {
$names[] = $row['name'];
}