Значение backtick вокруг имени таблицы в запросе MySQL

В MySQL-запросах важно, как это сделать, чтобы ссылаться на имя таблицы. Это имеет какое-то отношение к безопасности? Возможны ли инъекции инъекций MySQL через имя таблицы, если имя таблицы динамически создается в PHP на основе пользовательских входов?

Обратные ссылки помогают вам случайно использовать имя, которое является зарезервированным словом в SQL, например. Возьмите таблицу с именем «где», это глупое имя для таблицы, которую я согласен, но если вы завернете ее в backticks, она будет работать нормально.

В MySQL-запросах важно, как это сделать, чтобы ссылаться на имя таблицы. Это имеет какое-то отношение к безопасности?

Что касается обратных ссылок, я использую их, когда существует конфликт имен между именами mysql-specificcs и именами из запроса.

Возможны ли инъекции инъекций MySQL через имя таблицы, если имя таблицы динамически создается в PHP на основе пользовательских входов?

Когда когда-либо есть пользовательский ввод, вам необходимо убедиться, что вы фильтруете и проверяете ввод, поступающий от пользователя. Так что да, есть риск для безопасности.

Я бы рекомендовал вам использовать intval для чисел и функцию mysql_real_escape_string для любых переменных, которые вы можете использовать в своих запросах.

Если у вас есть имя таблицы с тем же именем, что и ключевое слово, например select, следующий запрос будет работать:

 select * from `select`;