В PDO (библиотеке в PHP, предоставляющая унифицированный способ доступа к различным базам данных) есть два метода для выполнения запросов к базе данных: exec() и execute(). Вот основные различия между ними:
Метод exec()
Метод exec() используется для выполнения SQL-запросов, которые не возвращают набор результатов, например, INSERT, UPDATE, DELETE.
Он возвращает количество затронутых строк.
exec() не используется для выполнения запросов с параметрами, которые могут изменяться, так как это может привести к уязвимостям, связанным с SQL-инъекциями.
Пример использования exec():
$sql = "DELETE FROM users WHERE id = 1"; $count = $pdo->exec($sql); echo $count . " строк удалено.";
Метод execute()
Метод execute() используется в сочетании с подготовленными запросами (PDOStatement).
Этот метод обеспечивает безопасность от SQL-инъекций, так как данные пользователей не вставляются напрямую в запрос.
execute() возвращает true или false в зависимости от того, успешно ли выполнен запрос.
Пример использования execute() с подготовленным запросом:
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$stmt->execute([':name' => 'Alex', ':email' => 'alex@example.com']);
Комментарии
0Нашли ошибку или хотите дополнить материал?