Mysql
 sql >> Database >  >> RDS >> Mysql

Query MySQL utilizzando un array

La seconda query dovrebbe usare $thelist non $row e dovrebbe essere al di fuori del while ciclo continuo. Il foreach loop non è necessario durante l'elaborazione di una singola riga. Puoi accedere al nome in $row con un semplice $row[0] . Qualcosa del genere (non testato):

$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);

Attenzione: Tieni presente che il tuo codice è altamente vulnerabile agli Attacchi SQL injection . Va bene per i test o lo sviluppo interno, ma se questo codice eseguirà il sito Web di Fort Knox, vorrai sistemarlo un po'. Solo un FYI. :-)