PHP PDO проверка на SQL инъекцию

Все привет! Подскажите пожалуйста, можно ли в данный код внедрить SQL инъекцию?

$query = $pdo ->query("SELECT * FROM `articles` WHERE `public` = 1 ORDER BY pubdate DESC LIMIT 5");

Заранее спасибо!


Ответы (1 шт):

Автор решения: Anonim

С целью исключения инъекций SQL (и об этом не паранойить), применяется функция специальная для экранирования. В неё передаются знаки мест данных вставки, в аргумент следующий, типы данных.

$number = (int) 5;
// Знаки не известные означают переменные в порядке соответствующем вызову функции следующей
$mysqli->prepare("SELECT ?")){
     // Здесь указывается тип данных, i - Значит int
     if ($stmt->bind_param('i', $number) == true){
          if ($stmt->execute() == true){
             $return = true;
          }
     }
}

Используется класс mysqli (стиль ООП) Подробней об функциях написано в документации по PHP

→ Ссылка