Предположим, у меня есть такой запрос:
SELECT *
FROM table
WHERE table.a = 23
AND table.b = 23
AND (23 - table.c)/23 > 0.2
Это может не иметь никакого смысла, потому что это всего лишь пример. Мой реальный запрос намного больше, чем этот. Как видите, все значения, которые будут связаны, равны.
Итак, как я могу использовать привязку данных CodeIgniter для этого запроса, если все ?
одни и те же данные?
Повторение таких значений в массиве выглядит странно в коде:
$sql = "SELECT *"." FROM table"." WHERE table.a = ?"." AND table.b = ?"." AND (? - table.c)/? > 0.2";
$this->db->query($sql, array(23, 23, 23, 23);
Кажется, Codeigniter не предоставляет именованные привязки, поэтому можно использовать обходной путь, когда все значения одинаковы. array_fill:
array_fill(0, 5, 23);
Будет производить:
Array
(
[0] => 23
[1] => 23
[2] => 23
[3] => 23
[4] => 23
)
Других решений пока нет …