回答編集履歴

2

修正

2019/07/10 07:39

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -22,6 +22,8 @@
22
22
 
23
23
  - ↑そして使った後に定義していますし、片方`&yourold`となっていてそもそも変数になっていません。
24
24
 
25
+ - 上記だけでなく「変数を使った後に定義」が散見されます。「変数を定義した後に使う」流れを徹底してください
26
+
25
27
  - try-catchは接続時だけでなくDB処理一連全て囲っておいてください。
26
28
 
27
29
  - DBに変更を与える処理なのでできればトランザクション→コミットorロールバックは入れておいたほうが良いです(参考:[PHPマニュアル:トランザクションおよび自動コミット](https://www.php.net/manual/ja/pdo.transactions.php))
@@ -29,3 +31,11 @@
29
31
 
30
32
 
31
33
  はじめのうちは[PHPのエラー表示はON](https://qiita.com/shotets/items/3c95aef631b2c5eadae5)にしておいたほうが良いでしょう。
34
+
35
+
36
+
37
+ > database3.php
38
+
39
+
40
+
41
+ パラメータがないINSERT文なのでbindValue使ってません。

1

修正

2019/07/10 07:39

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -1 +1,31 @@
1
1
  > database2.php
2
+
3
+
4
+
5
+ - PDOが2度呼び出されているので無駄になっていると思います。
6
+
7
+ - mysqli_*が呼ばれていますが、どちらかに統一したほうが良いですし、今回はPDO一本で良いでしょう。
8
+
9
+ - 変数未定義のまま使っています。
10
+
11
+ ```php
12
+
13
+ $stmt->bind_param('1', $yourname);
14
+
15
+ $stmt->bind_param('2', $yourold);
16
+
17
+ $yourname = $_POST['yourname'];
18
+
19
+ &yourold = $_POST['yourold']
20
+
21
+ ```
22
+
23
+ - ↑そして使った後に定義していますし、片方`&yourold`となっていてそもそも変数になっていません。
24
+
25
+ - try-catchは接続時だけでなくDB処理一連全て囲っておいてください。
26
+
27
+ - DBに変更を与える処理なのでできればトランザクション→コミットorロールバックは入れておいたほうが良いです(参考:[PHPマニュアル:トランザクションおよび自動コミット](https://www.php.net/manual/ja/pdo.transactions.php))
28
+
29
+
30
+
31
+ はじめのうちは[PHPのエラー表示はON](https://qiita.com/shotets/items/3c95aef631b2c5eadae5)にしておいたほうが良いでしょう。