質問するログイン新規登録

回答編集履歴

2

修正

2019/07/10 07:39

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -10,7 +10,12 @@
10
10
  &yourold = $_POST['yourold']
11
11
  ```
12
12
  - ↑そして使った後に定義していますし、片方`&yourold`となっていてそもそも変数になっていません。
13
+ - 上記だけでなく「変数を使った後に定義」が散見されます。「変数を定義した後に使う」流れを徹底してください
13
14
  - try-catchは接続時だけでなくDB処理一連全て囲っておいてください。
14
15
  - DBに変更を与える処理なのでできればトランザクション→コミットorロールバックは入れておいたほうが良いです(参考:[PHPマニュアル:トランザクションおよび自動コミット](https://www.php.net/manual/ja/pdo.transactions.php))
15
16
 
16
- はじめのうちは[PHPのエラー表示はON](https://qiita.com/shotets/items/3c95aef631b2c5eadae5)にしておいたほうが良いでしょう。
17
+ はじめのうちは[PHPのエラー表示はON](https://qiita.com/shotets/items/3c95aef631b2c5eadae5)にしておいたほうが良いでしょう。
18
+
19
+ > database3.php
20
+
21
+ パラメータがないINSERT文なのでbindValue使ってません。

1

修正

2019/07/10 07:39

投稿

m.ts10806
m.ts10806

スコア80888

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