Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requête MySQL utilisant un tableau

La deuxième requête doit utiliser $thelist pas $row , et il devrait être en dehors du while boucle. Le foreach loop n'est pas nécessaire lors du traitement d'une seule ligne. Vous pouvez accéder au nom dans $row avec un simple $row[0] . Quelque chose comme ça (non testé) :

$query1 = "SELECT name FROM clients WHERE sector = '$sectorlink'";
$clientresult = mysql_query($query1, $connection) or trigger_error("SQL", E_USER_ERROR);

while($row = mysql_fetch_array($clientresult)){
    $temp[] = '"'.$row[0].'"';
}

$thelist = implode(",",$temp);
$query = "SELECT count(*) FROM studies WHERE client IN ($thelist) ORDER BY (date) desc";
$result = mysql_query($query, $connection) or trigger_error("SQL", E_USER_ERROR);

Attention : Veuillez noter que votre code est très vulnérable aux attaques par injection SQL . C'est bien pour les tests ou le développement interne, mais si ce code doit exécuter le site Web de Fort Knox, vous voudrez le réparer un peu. Juste un FYI. :-)