sql >> Databasteknik >  >> RDS >> Mysql

MySQL-fråga med en array

Den andra frågan ska använda $thelist inte $row , och det bör vara utanför while slinga. foreach loop är onödigt när du bearbetar en enstaka rad. Du kan komma åt namnet i $row med en enkel $row[0] . Något så här (otestat):

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

Varning: Var medveten om att din kod är mycket sårbar för SQL-injektionsattacker . Det är bra för testning eller intern utveckling, men om den här koden ska köra Fort Knox-webbplatsen kommer du att vilja fixa det en hel del. Bara en FYI. :-)



  1. Kan jag skjuta upp referensintegritetskontroller i MySQL tills commit

  2. Postgres:Hur konverterar man en json-sträng till text?

  3. Hur operatören LÅTER SOM fungerar i MySQL

  4. Hur man aktiverar MySQL Query Cache