Sto riscontrando problemi nell'utilizzo di parametri nella sezione ORDER BY
del mio SQL. Non emette alcun avviso, ma non stampa nulla.Come si impostano i parametri ORDER BY utilizzando l'istruzione PDO preparata?
$order = 'columnName';
$direction = 'ASC';
$stmt = $db->prepare("SELECT field from table WHERE column = :my_param ORDER BY :order :direction");
$stmt->bindParam(':my_param', $is_live, PDO::PARAM_STR);
$stmt->bindParam(':order', $order, PDO::PARAM_STR);
$stmt->bindParam(':direction', $direction, PDO::PARAM_STR);
$stmt->execute();
I :my_param
opere, ma non :order
o :direction
. Non viene evaso internamente correttamente? Sono bloccato inserendolo direttamente in SQL? In questo modo:
$order = 'columnName';
$direction = 'ASC';
$stmt = $db->prepare("SELECT * from table WHERE column = :my_param ORDER BY $order $direction");
C'è una costante PDO::PARAM_COLUMN_NAME
o qualche equivalente?
Grazie!
Vedere anche [Le istruzioni PDO PHP possono accettare il nome tabella come parametro?] (Http://stackoverflow.com/q/182287/157957) – IMSoP