Как я могу проверить, успешно ли выполняется следующий запрос?
$STH = $this->_db->prepare("UPDATE UserCreds SET VerificationString=:newVerificationString, ExpiryDate=:expiryDate WHERE UserID = :userID;"); $STH->execute($params);
Я знаю, что я могу использовать lastInsertId()
когда добавляю новые строки, но как насчет UPDATE и SELECT?
Выполнение возвращает true
при успешном выполнении и false
при ошибке.
Из документов:
Возвращает TRUE при успешном завершении или FALSE при сбое.
Таким образом, вы можете убедиться, что запрос успешно выполнен:
if ($STH->execute($params)) { // success } else { // failure }
execute () возвращает true / false на основе успеха / отказа запроса:
$status = $STH->execute($params); if ($status) { echo 'It worked!'; } else { echo 'It failed!'; }
Одна заметка: запрос выбора, который не возвращает строк, НЕ является ошибкой. Это абсолютно правильный результат, который просто не имеет результатов.
просто я могу подсчитать количество строк:
$stmt->execute(); $count = $stmt->rowCount(); if($count =='0'){ echo "Failed !"; } else{ echo "Success !"; }
Это лучший способ проверить успешность результата результата запроса Doctrine или неудачный результат, и так же, как указано выше, для проверки запроса погоды возвращает Success on True и Failed on false .
public static function removeStudent($teacher_id){ $q = Doctrine_Query::create() ->delete('Student s') ->where('s.teacher_id = ?'); $result = $q->execute(array($teacher_id)); if($result) { echo "success"; }else{ echo "failed"; } }