回答編集履歴
2
修正
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
修正
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)にしておいたほうが良いでしょう。
|