Detta beror på att ORDER BY
använder en databasidentifierare (dvs. en kolumn, alias eller uttryck). Du skickar värdet som en parameter.
Med andra ord skulle den resulterande frågan vara likvärdig med
... ORDER BY 'StartTime' ...
Om du validerar användarinmatningen mot en känd uppsättning värden (dvs tillgängliga kolumner), kan du helt enkelt interpolera värdet i frågesträngen, t.ex. (mycket grov)
$orderBy = $_GET['order_by'];
if (!in_array($orderBy, $orderableColumns)) {
throw new Exception('Invalid "order by" specified');
}
$query = sprintf('... ORDER BY `%s` ...', $orderBy);