回答編集履歴

1

PDOのサンプルコードを追加

2017/09/21 12:29

投稿

miyahan
miyahan

スコア3095

test CHANGED
@@ -1,4 +1,4 @@
1
- カラム名のtypoだと思います。`UesrId` ではなく `UserId` ですよね? 実際には裏でこんなメッセが発生しています。
1
+ カラム名のtypoだと思います。`UesrId` ではなく `UserId` ですよね? 実際には裏でこんなエラーが発生しています。
2
2
 
3
3
 
4
4
 
@@ -10,12 +10,38 @@
10
10
 
11
11
 
12
12
 
13
- エラーメッセージを確認できない状態だと今回のように何が間違ってるかなかなか気づけず時間と精神を無駄に消費してしまいます。たとえばPDOであれば接続時の第4変数にオプションが渡せるのですが、ここでぜひエラーモードを `ERRMODE_EXCEPTION` に変更してみてください。
13
+ エラーメッセージを確認できない状態だと今回のように何が起きているのか・間違ってるかなかなか気づけず時間と精神を無駄に消費してしまいます。たとえばPDOであれば接続時の第4変数にオプションが渡せるのですが、ここでぜひエラーモードを `ERRMODE_EXCEPTION` に変更してみてください。
14
14
 
15
15
 
16
16
 
17
+ ```php
18
+
17
- [PHP: エラーおよびエラー処理 - Manual](http://php.net/manual/ja/pdo.error-handling.php)
19
+ $dsn = 'mysql:host=localhost;dbname=teratail;charset=utf8mb4';
20
+
21
+ $user = 'teratail';
22
+
23
+ $password = 'teratail';
24
+
25
+ $pdo_options = [
26
+
27
+ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
28
+
29
+ ];
18
30
 
19
31
 
20
32
 
33
+ $dbh = new PDO($dsn, $user, $password, $pdo_options);
34
+
35
+ ```
36
+
37
+
38
+
39
+ 参考: [PHP: エラーおよびエラー処理 - Manual](http://php.net/manual/ja/pdo.error-handling.php)
40
+
41
+
42
+
21
- するとエラーが出た場合に例外(Exception)を投げてくれるので、なにか正ではないことが起きたことに気づくことができるのでおすすめです。
43
+ するとエラーが出た場合に例外(Exception)を投げてくれるようになるので、常が起きたことにいち早く気づくことができるのでおすすめです。
44
+
45
+
46
+
47
+ ほかにもPHPでは、display_errrors や error_reporting などエラー出力に関する(煩わしい)設定が多くあります。開発時はなるべく全てのエラーを表示すると作業が捗ると思います。