Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Consulta MySQL usando uma matriz


A segunda consulta deve usar $thelist não $row , e deve estar fora do while ciclo. O foreach loop é desnecessário ao processar uma única linha. Você pode acessar o nome em $row com um simples $row[0] . Algo assim (não testado):
$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);

Cuidado: Esteja ciente de que seu código é altamente vulnerável a ataques de injeção de SQL . É bom para testes ou desenvolvimento interno, mas se esse código estiver executando o site do Fort Knox, você precisará corrigi-lo um pouco. Apenas um FYI. :-)