Ваш совет действительно неверен.
mysql_real_escape_string()
не будет работать для динамических имен таблиц;он предназначен для экранирования строковых данных, ограниченных только кавычками .Это не ускользнет от обратного характера.Это небольшое, но важное различие.
Так что я мог бы вставить SQL-инъекцию в это, мне просто нужно было бы использовать закрывающий обратный удар.
PDO не обеспечивает санитарию для динамических имен таблиц, либо .
Вот почему хорошо не использовать динамические имена таблиц или, если нужно, сравнивать их со списком допустимых значений, например списком таблиц из команды SHOW TABLES
.
Я тоже не совсем знал об этом, и, вероятно, был виновен в том, что повторял тот же плохой совет, пока мне здесь, на SO, не указал полковник Шрапнель.