前提・実現したいこと
様々なサンプルコードを見ているとPDOを使ったDB処理をする際、trycatch文がよく使われていますが、catchで囲むべきですか?
なんのために使われているかわかりません。
下記リンクの会員登録機能のコードでも使われていますがよくわかりませんでした。
基本的にDBを使って処理をする時は必ずその処理をtry
https://noumenon-th.net/programming/2016/02/28/registration3/
該当のソースコード
php
1<?php 2 try{ 3 //例外処理を投げる(スロー)ようにする 4 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 5 6 //flagが0の未登録者・仮登録日から24時間以内 7 $statement = $dbh->prepare("SELECT mail FROM pre_member WHERE urltoken=(:urltoken) AND flag =0 AND date > now() - interval 24 hour"); 8 $statement->bindValue(':urltoken', $urltoken, PDO::PARAM_STR); 9 $statement->execute(); 10 11 //レコード件数取得 12 $row_count = $statement->rowCount(); 13 14 //24時間以内に仮登録され、本登録されていないトークンの場合 15 if( $row_count ==1){ 16 $mail_array = $statement->fetch(); 17 $mail = $mail_array[mail]; 18 $_SESSION['mail'] = $mail; 19 }else{ 20 $errors['urltoken_timeover'] = "このURLはご利用できません。有効期限が過ぎた等の問題があります。もう一度登録をやりなおして下さい。"; 21 } 22 23 //データベース接続切断 24 $dbh = null; 25 26 }catch (PDOException $e){ 27 print('Error:'.$e->getMessage()); 28 die(); 29 } 30 } 31} 32 33?>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/30 02:55
2020/10/30 03:01
2020/10/30 03:06
2020/10/30 03:15