Разбираем отличия PDO методов: query и execute


В PDO у нас есть несколько методов для выполнения запросов: query и execute. Метод query предназначен для запуска стандартного SQL кода. Защита от SQL-инъекций перекладывается на плечи разработчика.

Метод execute запускает заранее подготовленное выражение, в котором уже произошла подстановка параметров.

Пример:

$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories);
$sth->bindParam(':colour', $colour);
$sth->execute();