C'est parce que ORDER BY
utilise un identifiant de base de données (c'est-à-dire une colonne, un alias ou une expression). Vous passez la valeur en paramètre.
En d'autres termes, la requête résultante serait équivalente à
... ORDER BY 'StartTime' ...
Si vous validez l'entrée de l'utilisateur par rapport à un ensemble connu de valeurs (c'est-à-dire les colonnes disponibles), vous pouvez simplement interpoler la valeur dans la chaîne de requête, par exemple (très approximatif)
$orderBy = $_GET['order_by'];
if (!in_array($orderBy, $orderableColumns)) {
throw new Exception('Invalid "order by" specified');
}
$query = sprintf('... ORDER BY `%s` ...', $orderBy);