回答編集履歴
3
修正
answer
CHANGED
@@ -29,4 +29,9 @@
|
|
29
29
|
|
30
30
|
あと細かいのですが・・・・
|
31
31
|
「PHPコードだけどそれ以降何もない」のであれば`?>`はないほうがいいです。
|
32
|
-
改行とかスペースとか何かで入ってしまえば画面に出力されてしまってそれが思わぬ問題を引き起こすこともあるので。
|
32
|
+
改行とかスペースとか何かで入ってしまえば画面に出力されてしまってそれが思わぬ問題を引き起こすこともあるので。
|
33
|
+
|
34
|
+
追記:
|
35
|
+
m6uさんがdbconnect.phpの改修内容記載してくれていますが、
|
36
|
+
DB接続時に[エラーオプション](https://www.php.net/manual/ja/pdo.error-handling.php)は必ず設定しておいてください。
|
37
|
+
- [PHPでデータベースに接続するときのまとめ#接続後にオプションを指定](https://qiita.com/mpyw/items/b00b72c5c95aac573b71#%E6%8E%A5%E7%B6%9A%E5%BE%8C%E3%81%AB%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E6%8C%87%E5%AE%9A)
|
2
修正
answer
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
実行されているはずのSQLを直にDBに対して実行してみた場合はどうでしょうか?
|
2
2
|
基本的な流れとしては、プログラムから実行する前にDBに対して実行します。
|
3
3
|
DBもPHPからすると外部サービスなので、直に実行して実行できないものはプログラムから実行しても当然できません。
|
4
|
+
PHPから実行するときもがっつりコードを組んでから実行するのではなく「こういう値が来るはず」というのを固定値で埋め込んで実行してそれが想定通り動いてからがっつり組みます。
|
5
|
+
必要最小限の処理だけを入れたミニマムコードですね。ミニマムコードで動かないものはそれも当然全体ロジックを組んでも動きません。
|
4
6
|
|
5
7
|
あとは、DB接続時だけではなく実行時にもきちんとExceptionを拾うようにしてください。
|
6
8
|
特にINSERT,UPDATE,DELETEのようにDBに影響がある処理を行うときは、トランザクション開始~SQL実行~コミット/ロールバックする流れを作るよう強くススメます。
|
1
修正
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
実行されているはずのSQLを直にDBに対して実行してみた場合はどうでしょうか?
|
2
|
-
基本的な流れとしては、プログラム
|
2
|
+
基本的な流れとしては、プログラムから実行する前にDBに対して実行します。
|
3
3
|
DBもPHPからすると外部サービスなので、直に実行して実行できないものはプログラムから実行しても当然できません。
|
4
4
|
|
5
5
|
あとは、DB接続時だけではなく実行時にもきちんとExceptionを拾うようにしてください。
|
@@ -21,7 +21,10 @@
|
|
21
21
|
}
|
22
22
|
|
23
23
|
```
|
24
|
+
できれば何もせずheader()でリダイレクトさせるのではなく、
|
25
|
+
「完了しました」などメッセージを画面に出したほうが安全とは思います。
|
24
26
|
|
27
|
+
|
25
28
|
あと細かいのですが・・・・
|
26
29
|
「PHPコードだけどそれ以降何もない」のであれば`?>`はないほうがいいです。
|
27
|
-
改行とかスペースとか何かで入
|
30
|
+
改行とかスペースとか何かで入ってしまえば画面に出力されてしまってそれが思わぬ問題を引き起こすこともあるので。
|