回答編集履歴
1
PDOのサンプルコードを追加
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
|
-
|
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 などエラー出力に関する(煩わしい)設定が多くあります。開発時はなるべく全てのエラーを表示すると作業が捗ると思います。
|