Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie MySQL przy użyciu tablicy

Drugie zapytanie powinno używać $thelist nie $row , i powinien znajdować się poza while pętla. foreach pętla jest zbędna podczas przetwarzania pojedynczego wiersza. Możesz uzyskać dostęp do nazwy w $row za pomocą prostego $row[0] . Coś takiego (niesprawdzone):

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

Uwaga: Należy pamiętać, że Twój kod jest bardzo podatny na ataki SQL . Nadaje się do testowania lub wewnętrznego rozwoju, ale jeśli ten kod ma obsługiwać witrynę internetową Fort Knox, będziesz chciał go trochę naprawić. Tylko do Twojej wiadomości. :-)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Problem z połączeniem programu Java i MySQL:Nie znaleziono odpowiedniego sterownika

  2. Wyjaśnienie MySQL ISNULL()

  3. Najlepszy sposób na sprawdzenie, czy mysql_query zwrócił jakieś wyniki?

  4. mysql aktualizacja inkrementu int pole, które ma wartość null

  5. Jaki jest maksymalny rozmiar zapytania dla mysql?