У меня проблема с тем, что PDO инкапсулирует значения int с использованием кавычек и впоследствии делает запросы неуспешными.
Это код (с использованием функции-оболочки)
$newest = query("SELECT id, body, upvotes, downvotes
FROM suggestions ORDER BY timestamp DESC LIMIT :min, :max",
array(
':min' => $min,
':max' => $max
)
);
И этов результате неверный запрос, который вызывает ошибку (обратите внимание на кавычки вокруг значений LIMIT
)
SELECT id, body, upvotes, downvotes FROM suggestions ORDER BY timestamp DESC LIMIT '0' , '50'
Я передаю массив значений:
array(
':min' => $min,
':max' => $max
)
Они обаINT, и из того, что я прочитал в Интернете, PDO должен автоматически это выяснить и использовать PDO::PARAM_INT
при их привязке.Проблема в том, что он на самом деле этого не делает, и поскольку мой единственный способ передать их - через массив, я хотел бы спросить, есть ли способ заставить их быть PDO::PARAM_INT
без необходимости использовать bindParam()
.
Заранее спасибо.