Мне нужно знать, была ли функция, которую я только что выполнял, не была успешной. Ниже приведена соответствующая функция и ее выполнение.Если функция X не была успешной, выполните Y
Я знаю, как я могу это сделать, установив переменную из функции и проверив, существует ли она, но не уверен, что это лучшая практика.
//Update users function
function update($db, $fn, $ln, $email, $offers, $vlue, $responce)
{
$stmt = $db->prepare("insert into kkt (fName_765, lName_765, email_765, signup_765, kkt_resp_765, stamp_765) values (:fname, :lname, :email, :signup, NOW())");
$parameters = array(
':fname' => $fn,
':lname' => $ln,
':email' => $email,
':signup' => $offers);
$stmt->execute($parameters);
print $db->lastInsertId(); //show ID
return true;
}
//Test Attributes
$fn = 'test';
$ln = 'test';
$email = '[email protected],com';
$offers = '1';
try {
update($db, $fn, $ln, $email, $offers);
}
catch (PDOException $e) {
echo "no update there is a slight problem " . $e->getMessage();
}
Я буду использовать попытку поймать уведомить меня по электронной почте, если он не был успешным, но я должен поставить код, который я собираюсь показать пользователь здесь или это лучше, чтобы написать что-то еще, чтобы сохранить его аккуратнее?
Спасибо за все ваши комментарии - окончательный код теперь более чем на CR: https://codereview.stackexchange.com/questions/21481/pdo-connection-prep-and-execute-in-there-own-functions
делает эту работу, и вы только после того, как лучший совет практика ? Try-catch - хороший способ сделать это, хотя, поскольку он стоит, вам не нужно возвращать true, поскольку вы его не используете. Если 'update()' используется в разных местах, я бы склонен помещать try/catch внутри функции и возвращать 'true', если все было в порядке, и строковое сообщение, если была проблема. Затем вы можете выполнить 'if ($ result! == true)', чтобы проверить, произошла ли ошибка. – halfer
см. Ниже о том, чтобы рекомендовать поставить это не в функцию, но, читая это, имеет смысл вернуть это обратно в функцию. спасибо – odd