Является ли mysql_real_escape_string достаточным для инъекции SQL?

В Руководстве по PHP есть примечание:

Примечание. Если эта функция не используется для удаления данных, запрос уязвим для SQL Injection Attacks.

Достаточно ли этого для анти-sq-инъекции? Если нет, можете ли вы привести пример и хорошее решение для анти-SQL-инъекций?

mysql_real_escape_string обычно достаточно, чтобы избежать SQL-инъекции. Это зависит от того, что он является ошибкой, хотя, т. Е. Есть небольшой неизвестный шанс, что он уязвим (но пока это еще не проявилось в реальном мире). Лучшая альтернатива, которая полностью исключает SQL-инъекции на концептуальном уровне, – это готовые заявления . Оба метода полностью зависят от правильности их применения; т. е. ни одна из них не защитит вас, если вы просто все испортите.

Лучшим решением является PDO .

Если вы используете традиционную mysql_query то достаточно mysql_query все ваши данные через mysql_real_escape_string.

Насколько я знаю, это надежный способ избежать атак SQL Injection.