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

MySQL-forespørgsel ved hjælp af et array

Den anden forespørgsel skal bruge $thelist ikke $row , og det skal være uden for while sløjfe. foreach sløjfe er unødvendig ved behandling af en enkelt række. Du kan få adgang til navnet i $row med en simpel $row[0] . Noget som dette (utestet):

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

Forsigtig: Vær opmærksom på, at din kode er meget sårbar over for SQL-injektionsangreb . Det er fint til test eller intern udvikling, men hvis denne kode skal køre Fort Knox-webstedet, vil du gerne rette det en hel del. Bare en FYI. :-)



  1. SQLAlchemy ingen adgangskode angivet fejl

  2. Hvordan får man aktuel dato og tid i MySQL?

  3. Find den nærmeste datetime til specificeret datetime i mysql-forespørgsel

  4. Udførelse af simpel aritmetik i MySQL-sætning eller i PHP-kode