Нет, это не . Редактировать : Да, это так ... не видел вашего комментария о том, что вы используете активные записи. Вам необходимо либо вручную экранировать свои входные данные, используя экранирующие функции PHP или CodeIgniter, либо использовать привязки запросов CodeIgniter , либо использовать класс Active Record CodeIgniter . Я предпочитаю делать привязки запросов, так как это а) делает мои запросы более приятными и б) гарантирует, что все мои входные данные очищены перед запуском в MySQL.
http://ellislab.com/codeigniter/user_guide/database/queries.html
Это работает так:
$qStr = "SELECT * FROM students WHERE id=?";
$q = $this->db->query($qStr, array($id);
CodeIgniter распознает тип данных вашей переменной и соответствующим образом ее обернет. То есть, если это строка, она поместит '
и '
вокруг экранированного значения в SQL, что необходимо для того, чтобы пользователи не могли внедрить что-либо вредоносное.