В настоящее время я пишу CMS и хочу предотвратить SQL-инъекцию.Как правильно подготовить заявление?
У меня есть переменная $ url_variable, которая является $ _GET. Теперь я хочу подготовить инструкцию и выполнить поиск $ url_variable в моей таблице.
$stmt = $db_connect->prepare("SELECT * FROM $url_table WHERE url = ?");
$url_variable = $stmt->quote($url_variable);
$stmt->bind_param("s", $url_variable);
Теперь мои вопросы: Правильно ли этот код? Мне нужна цитата? И безопасно ли это от любой SQL-инъекции?
Создайте массив со всеми допустимыми именами таблиц, затем проверьте, существует ли в массиве '$ url_table'. Если это - используйте его, иначе - не делайте этого. – zerkms
Вы должны ** не ** использовать '$ stmt-> quote', когда используете' bind_param'. Параметры привязки заботятся обо всем. – Barmar
$ url_table уже безопасен и установлен заранее. Я хочу знать, как защитить $ url_variable, поэтому я могу выполнить его без риска внедрения SQL. – iMpuLz