Задать вопрос

Как узнать, выполнился ли запрос в PDO?

Осваиваю PDO...
Возник такой вопрос...как узнать, выполнился ли запрос?

Пример моей функции:
public function Query($query, $param){
	$stmt = $this -> db -> prepare($query);
	$stmt -> execute($param);
	$row = $stmt -> fetch();
	return $row;
}

Конструкция такого вида(как пример):
if($this -> QueryOne('UPDATE `users` SET `user_activation` = :num WHERE `user_id` = :id', array(':num' => 1, ':id' => 1))){
  echo 'true';
}else echo 'false';

Всегда выводит false в любом случае и при любом запросе...
Т.е. как сделать, чтобы функция возвращала РЕЗУЛЬТАТ(при SELECT) или TRUE(при UPDATE, INSERT и т.д.) - при удаче или получении данных из таблицы...и возвращала FALSE - при неудаче?
  • Вопрос задан
  • 4082 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
php.net/manual/ru/pdo.query.php
PDO::query() возвращает объект PDOStatement или FALSE, если запрос выполнить не удалось.
Ответ написан
Комментировать
akubintsev
@akubintsev
Опытный backend разработчик
Включите режим использования исключений в PDO
$db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Я спрашивал уже, и спрошу снова: ЗАЧЕМ?

Зачем ты хочешь проверять успешность выполнения запроса и что ты потом будешь с этим сакраментальным знанием делать?

Кстати,
(при UPDATE, INSERT и т.д.)

Как я уже писал, при UPDATE, INSERT и т.д. твоя функция всегда будет выдавать ошибку. Можно даже не проверять
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽