Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
во-первых, из личного опыта
во-вторых,… максимальная перестраховка
Остаётся только добавить, что «правильно задать кодировку» можно только функциями...
$db->query('set names utf8');
case 'a':
if (!$value) $this->_placeholderNoValueFound = true;
IN (FALSE)
работает, как FALSE. То есть, можно обойтись без громоздких проверок, и даже без котеровского 1=0mysql> select isnull(null), isnull('null');
+--------------+----------------+
| isnull(null) | isnull('null') |
+--------------+----------------+
| 1 | 0 |
+--------------+----------------+
1 row in set (0.00 sec)
$student_name = htmlspecialchars("Heh' DROP TABLE students", ENT_QUOTES);
$req = "SELECT student_id FROM students WHERE student_name = '$student_name' LIMIT 1";
print($req);
$order = htmlspecialchars("name; DROP TABLE students", ENT_QUOTES);
$req = "SELECT student_id FROM students ORDER BY $order";
А ошибки — это всегда плохо.
Защита от SQL-инъекций в PHP и MySQL