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

回答編集履歴

5

原因はもっとあったらしい。

2021/03/13 09:40

投稿

退会済みユーザー
answer CHANGED
@@ -1,9 +1,21 @@
1
+ 最終追記です
2
+
3
+ この回答のコメント欄にて顛末が載っていますので、気になる方はそちらをご覧いただければと思います。
4
+ 要素の値の取得漏れがあったらしく提示されている情報からは絶対にわかりません。
5
+ 「これだけじゃわからないよ」が正解でした!申し訳ございませんっ
6
+
7
+ まぁ、タイポもエラー吐いたと思うし無駄ではなかったと思うのですが…
8
+ 圧倒的敗北感でございます。いったい何と戦ってるんでしょうかね?
9
+
10
+ 以下直接的な原因ではなかったと思われる要素(カラム無いからたぶんエラーは吐く)
11
+ ---
12
+
1
13
  `club = :club, birht = :birth,`
2
14
  SQL文の中にこれがあったので上に載せておきます。
3
15
  `birht`のカラムが見つからなくて登録弾かれていた可能性あり?
4
16
  ※タイポしてるの※
5
17
 
6
- ### 超恥ずかしいけど考え方の参考になると思って消さずに載せておくよっ!
18
+ ### 超恥ずかしいけど考え方の参考になると思って消さずに載せておくよっ!(DB情報載る前)
7
19
 
8
20
  あまり得意ではないのだけども、
9
21
  updateがされないということはupdateに関連する記述に問題があるのだと予想できます。

4

恥ずかしい奴なので追記

2021/03/13 09:40

投稿

退会済みユーザー
answer CHANGED
@@ -1,3 +1,10 @@
1
+ `club = :club, birht = :birth,`
2
+ SQL文の中にこれがあったので上に載せておきます。
3
+ `birht`のカラムが見つからなくて登録弾かれていた可能性あり?
4
+ ※タイポしてるの※
5
+
6
+ ### 超恥ずかしいけど考え方の参考になると思って消さずに載せておくよっ!
7
+
1
8
  あまり得意ではないのだけども、
2
9
  updateがされないということはupdateに関連する記述に問題があるのだと予想できます。
3
10
 

3

考え方を追記

2021/03/13 08:51

投稿

退会済みユーザー
answer CHANGED
@@ -31,4 +31,22 @@
31
31
  DBで処理するときにこの記述を使うことは無いんじゃないかなと思います。
32
32
 
33
33
  $this(updatePlayerを指してる?)の中にDB接続情報は入っていないはずなので、
34
- `$sth = $dbh->prepare($sql);`こうすれば動くかもです。
34
+ `$sth = $dbh->prepare($sql);`こうすれば動くかもです。
35
+
36
+
37
+ 以下蛇足です。
38
+ 難しいと言われてしまった…まぁ直らなかったらごめんだけども。
39
+
40
+ 考え方を記しておきますね。
41
+ データが登録できているということは登録時のDBへの接続は問題無い。
42
+ ただし、updateが出来ない。ということはupdate時の接続に問題があるかも?
43
+ ※この時点でupdateに関する記述以外を追う必要がほぼない。DBの定義も問題なし。
44
+
45
+ update関数の中を追って、
46
+ updatePlayerで処理してるっぽいのでそこを見て、
47
+ ミスが起きやすいSQLとかのチェックをして、
48
+ 変数名のチェックをして…DBも変数だよね?ここじゃね?
49
+ これthisいるのかな?DBにSQL文渡すだけだから要らん気がするけども…
50
+
51
+ みたいな感じです。これで直らなかったらめちゃくちゃ恥ずかしいやつですわっ
52
+ ちょっと隠れる準備しておきますね。

2

dbhについて追記

2021/03/13 08:41

投稿

退会済みユーザー
answer CHANGED
@@ -21,6 +21,7 @@
21
21
  $dbh = new PDO(PDO_DSN,DB_USERNAME,DB_PASSWORD);
22
22
  ```
23
23
 
24
+ 添付のコードには定義が載っていないけれど、※←探す人が出ないようにここ足しました※
24
25
  `dbh`ってたぶんこれの事ですよね?変数で扱ってるはずなので、`$`が必要になるかな。
25
26
 
26
27
 

1

thisに関する追記

2021/03/13 08:28

投稿

退会済みユーザー
answer CHANGED
@@ -21,4 +21,13 @@
21
21
  $dbh = new PDO(PDO_DSN,DB_USERNAME,DB_PASSWORD);
22
22
  ```
23
23
 
24
- `dbh`ってたぶんこれの事ですよね?変数で扱ってるはずなので、`$`が必要になるかな。
24
+ `dbh`ってたぶんこれの事ですよね?変数で扱ってるはずなので、`$`が必要になるかな。
25
+
26
+
27
+ 以下追記です。
28
+ `$sth = $this->dbh->prepare($sql);`
29
+ この一文をググってみてもヒットしてこないので、
30
+ DBで処理するときにこの記述を使うことは無いんじゃないかなと思います。
31
+
32
+ $this(updatePlayerを指してる?)の中にDB接続情報は入っていないはずなので、
33
+ `$sth = $dbh->prepare($sql);`こうすれば動くかもです。