###前提・実現したいこと
MySQLデータベースにINSERTする関数を作りました。
関数自体は正しく動作していますが、成功した場合、失敗した場合に何を返せばいいのかが分かりません。
成功した場合にtrue
失敗した場合false
とすれば簡単ですがエラーメッセージがわからなくなってしまいます。
成功した場合にtrue
失敗した場合エラーメッセージ
とすればtrue
,false
での判別ができません。
配列の最初にtrue
,false
を入れて2番目にnull
もしくはエラーメッセージ
を入れる?
何かこのような返り値の定石があるような気がするのですがいまいち納得できる処理が思いつきません。
###該当のソースコード
php
1function insert_db($boolean, $enum, $text){ 2 try { 3 $pdo = new PDO( 4 'mysql:dbname=DB名;host=localhost;charset=utf8mb4', 5 'ユーザー名', 6 'パスワード', 7 [ 8 PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, 9 PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, 10 ] 11 ); 12 13 $result = $pdo->query(" 14 INSERT INTO sample_table ( 15 boolean, 16 enum, 17 text 18 ) 19 VALUES ( 20 '$boolean', 21 '$enum', 22 '$text' 23 ) 24 "); 25 /* return true; */ 26 /* ここで何を返せばいいのかが分からない */ 27 28 29 } catch (PDOException $e) { 30 return ($e->getMessage()); 31 /* ここでエラーメッセージを返す */ 32 33 } 34} 35 36 37$result = insert_db(false, "sample1", "sample_text"); 38/* ここでエラーが発生したかの確認がしたい */
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。