sql >> Base de Datos >  >> RDS >> Mysql

Consulta MySQL usando una matriz

La segunda consulta debe usar $thelist no $row , y debería estar fuera del while círculo. El foreach loop no es necesario cuando se procesa una sola fila. Puede acceder al nombre en $row con un simple $row[0] . Algo como esto (no probado):

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

Precaución: Tenga en cuenta que su código es muy vulnerable a ataques de inyección SQL . Está bien para pruebas o desarrollo interno, pero si este código se ejecutará en el sitio web de Fort Knox, querrá arreglarlo un poco. Sólo un FYI. :-)