@YourCommonSense ... почему?
я небольшая проблема с функцией подготовки mysqli_stmt. Вот мой запрос:
$params = array(
"sisi",
"some_string",
5000,
"date_added DESC"
);
$sql = "SELECT *
FROM scenes
WHERE scene_title LIKE ?
AND scene_id > ?
ORDER BY ?
LIMIT ?";
Теперь, когда я привяжу параметры к массиву следующим образом (у меня есть действительный объект mysqli_stmt, созданный):
call_user_func_array(array($this->mysql_stmt, 'bind_param'), $params);
Порядок по не связан. Читаю на php.net (http://ca3.php.net/manual/en/mysqli.prepare.php)
Маркеры допустимы только в определенных местах операторов SQL. Например, они разрешены в списке VALUES () оператора INSERT (чтобы указать значения столбца для строки) или в сравнении со столбцом в предложении WHERE, чтобы указать значение сравнения.
Однако они не допускаются для идентификаторов (таких как имена таблиц или столбцов), в списке выбора, в котором указаны столбцы, которые должны быть возвращены оператором SELECT, или для указания обоих операндов двоичного оператора, такого как знак = равно.
Есть ли способ обойти это, или я собираюсь использовать mysql_real_escape_char () для предложения ORDER BY?