Не использовать активные записи CI ошибка? - PullRequest
0 голосов
/ 24 декабря 2011

Мне нужно писать запросы без частого использования активной записи CI, например:

$query = "INSERT INTO votes (userid, itemId) VALUES ({$userId},{$itemId})
                      ON DUPLICATE KEY UPDATE weight = {$vote}";

$query = $this->db->query($query);

Должен ли я беспокоиться по поводу производительности или потери безопасности из-за этого?

Ответы [ 2 ]

4 голосов
/ 24 декабря 2011

Вы можете использовать привязки запросов, вы можете наслаждаться гибкостью и безопасностью.Но вы не сможете переключить базу данных в будущем.

http://codeigniter.com/user_guide/database/queries.html

Пример:

$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?"; 

$this->db->query($sql, array(3, 'live', 'Rick'));

Дополнительным преимуществом использования связываний является то, что значения автоматически экранируются, создавая более безопасные запросы.Вам не нужно помнить, чтобы вручную экранировать данные;двигатель делает это автоматически для вас.

2 голосов
/ 24 декабря 2011

Производительность не должна быть проблемой. Во всяком случае, это может быть лучше.

Вы бы отказались от встроенных функций безопасности CodeIgniter.

Проверьте это:

А вот немного более легкое чтение:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...