sql >> Database >  >> RDS >> Mysql

Parameter in volgorde van clausule bestelt niet -mysql, C#

Dit komt omdat ORDER BY gebruikt een database-ID (dwz een kolom, alias of uitdrukking). U geeft de waarde door als parameter.

Met andere woorden, de resulterende zoekopdracht zou gelijk zijn aan

... ORDER BY 'StartTime' ...

Als u de gebruikersinvoer valideert tegen een bekende set waarden (dwz de beschikbare kolommen), kunt u de waarde eenvoudig interpoleren in de queryreeks, bijvoorbeeld (zeer ruw)

$orderBy = $_GET['order_by'];
if (!in_array($orderBy, $orderableColumns)) {
    throw new Exception('Invalid "order by" specified');
}
$query = sprintf('... ORDER BY `%s` ...', $orderBy);


  1. Wat is in SQL / MySQL het verschil tussen ON en WHERE in een join-instructie?

  2. Upload meerdere bestanden in PHP &INSERT pad naar MySQL

  3. Wat uitleg nodig over PHP PDO....!

  4. SQL-groep op datumbereik