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

Parameter i rækkefølge efter klausul bestiller ikke -mysql, C#

Dette er fordi ORDER BY bruger en database-id (dvs. en kolonne, et alias eller et udtryk). Du sender værdien som en parameter.

Med andre ord ville den resulterende forespørgsel svare til

... ORDER BY 'StartTime' ...

Hvis du validerer brugerinput mod et kendt sæt værdier (dvs. de tilgængelige kolonner), kan du blot interpolere værdien i forespørgselsstrengen, f.eks. (meget groft)

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


  1. Hvordan implementerer man en mere effektiv søgefunktion?

  2. Broken Pipe Exception on Grails App

  3. SQLalchemy:ændringer, der ikke binder til db

  4. MySQL VarChar 255 og nyere