В производственной среде при использовании подготовленных операторов и всех других проверок необходимо ли проверять ошибки на каждом шагу пути или я могу просто проверить конечный результат $stmt
для истинных или ложный?Ошибка обработки подготовленных операторов в производственной среде
Я пытаюсь очистить около 2000 строк функционального файла, и многие из них просто походят на пустое пространство, когда уже сделано столько проверок (т. Е. Проверка пустых значений, требуемых значений, пустых полей и т. Д.).
Вот грубый, чрезвычайно простой пример того, что я хотел бы сделать.
$sql = "SELECT count(*) FROM foo WHERE somecol = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s",$value);
$stmt->execute();
$stmt->bind_result($c);
$stmt->fetch();
if(false === $stmt){
//My error report
trigger_error("Something bad happened!");
//Error user sees
$userErrorMsg[] 'Some generic msg here';
}
EDIT: я, вероятно, должен упомянуть $conn
был проверен ранее.
Для лучшего удобства пользователей вы должны выполнить все проверки и показать пользователю соответствующие сообщения об ошибках. Общее сообщение будет путать пользователя, и ему будет трудно понять, что произошло при отправке формы. –
Общий msg был бы «была ошибка db, пожалуйста, попробуйте еще раз», кроме этого, я не думаю, что они нуждаются в чем-либо, относящемся к тому, почему запрос не удался, любые ошибки, которые могли быть вызваны конечным пользователем, были ранее иметь дело с. – user3154948