質問編集履歴

3

コードのマークダウン表示

2023/04/26 03:35

投稿

Burekomi
Burekomi

スコア1

test CHANGED
File without changes
test CHANGED
@@ -9,8 +9,86 @@
9
9
  処理としては、ゲームが終わり、前のページでデータベースからハイスコアを取り出し、jsでゲームのスコアを評価し、ハイスコアに入るようなら、postメソッドで後のページに送って、phpでデータベースに格納すると言うものです。
10
10
  ゲームした人のスコアは格納できるのですが、それによってずれた順位の成績を、データベースに格納するときに、もう一度データーベースを参照するのですが、そのときのデータ取得がうまくいかないために、順位が変わった部分に、空白とゼロが格納されてしまうようです。
11
11
 
12
-  前のページでは、以下のコードで、DBを呼び出して、格納された順位データを取得しました。 $CsScore=$_POST["customer_score"]; $CsStage=$_POST["achieved_stage"]; try { $DB=new PDO('mysql:dbname=????????;host=localhost;charset=sjis','ID,'パスワード); $DB->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC); $statement=$DB->prepare("SELECT * FROM hi_score"); $statement->execute(); $data=$statement->fetchAll(); for ($i=0;$i<=4;$i++){ $data[$i]['Stage']=substr(" ".$data[$i]['Stage'],-8); $data[$i]['Name']=substr(" ".$data[$i]['Name'],-11); $data[$i]['Score']=substr("00000".$data[$i]['Score'],-6); } $DB=null; } catch (PDOException $e) { echo 'DB接続エラー: ' . $e->getMessage(); }  このページでは、そのまま順位をphpからjsに渡して、表示することに成功しております。データは一旦phpからjsに渡されて処理したあとに、再びDBにアクセスしてデータを格納するために、phpに渡す目的でsubmitされます。  submit先のページの記述が以下です。  $CsName=$_POST["name"]; $CsStage=$_POST["stage"]; $CsScore=$_POST["score"]; $CsAddress=$_POST["address"]; $j=$_POST["customer_lanking"]; try { $DB=new PDO('mysql:dbname=?????????;host=localhost;charset=sjis','ID','パスワード'); $DB-> setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
13
-    } catch (PDOException $e) {  echo 'DB接続エラー: ' . $e->getMessage(); } for($i=5;$i>$j;$i--){ $Name0=$data0['Name']; $Stage0=$data0['Stage']; $Score0=$data0['Score']; $Address0=$data0['Address']; $statement=$DB->prepare("UPDATE hi_score SET Name=:Name0,Stage=:Stage0,Score=:Score0,Address=:Address0 WHERE Number='".$i."'"); $statement->bindParam(":Name0",$Name0,PDO::PARAM_STR); $statement->bindParam(":Stage0",$Stage0,PDO::PARAM_STR); $statement->bindParam(":Score0",$Score0,PDO::PARAM_INT); $statement->bindParam(":Address0",$Address0,PDO::PARAM_STR); $statement->execute(); } $statement=$DB->prepare("UPDATE hi_score SET Name=:CsName,Stage=:CsStage,Score=:CsScore,Address=:CsAddress WHERE Number='".$j."'"); $statement->bindParam(":CsName",$CsName,PDO::PARAM_STR); $statement->bindParam(":CsStage",$CsStage,PDO::PARAM_STR); $statement->bindParam(":CsScore",$CsScore,PDO::PARAM_INT); $statement->bindParam(":CsAddress",$CsAddress,PDO::PARAM_STR); $statement->execute(); $DB=null;   このページでは、再び順位を取得して、プレイヤーと比較して、新たな順位をDBに格納するのですが、取得したはずの$data0の内容が、echoで表示するとすべてArrayとしかでず、空データしか取得されません。従って、データーはヌルストリングと0が格納されてしまいます。  読み込みのコードがまずいのかと考え、以下のコードも試しました。 $CsName=$_POST["name"]; $CsStage=$_POST["stage"]; $CsScore=$_POST["score"]; $CsAddress=$_POST["address"]; $j=$_POST["customer_lanking"]; $DB=new PDO('mysql:dbname=?????????;host=localhost;charset=sjis','ID','パスワード'); $DB->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC); for($i=5;$i>$j;$i--){ $k=$i-1; $statement=$DB->prepare('SELECT * FROM hi_score WHERE Number=?'); $statement->bindValue(1,$i); $statement->execute(); $data0=$statement->fetch(); $Name0=$data0['Name']; $Stage0=$data0['Stage']; $Score0=$data0['Score']; $Address0=$data0['Address']; $statement=$DB->prepare("UPDATE hi_score SET Name=:Name0,Stage=:Stage0,Score=:Score0,Address=:Address0 WHERE Number='".$i."'"); $statement->bindParam(":Name0",$Name0,PDO::PARAM_STR); $statement->bindParam(":Stage0",$Stage0,PDO::PARAM_STR); $statement->bindParam(":Score0",$Score0,PDO::PARAM_INT); $statement->bindParam(":Address0",$Address0,PDO::PARAM_STR); $statement->execute(); } $statement=$DB->prepare("UPDATE hi_score SET Name=:CsName,Stage=:CsStage,Score=:CsScore,Address=:CsAddress WHERE Number='".$j."'"); $statement->bindParam(":CsName",$CsName,PDO::PARAM_STR); $statement->bindParam(":CsStage",$CsStage,PDO::PARAM_STR); $statement->bindParam(":CsScore",$CsScore,PDO::PARAM_INT); $statement->bindParam(":CsAddress",$CsAddress,PDO::PARAM_STR); $statement->execute(); $DB=null;  しかし、結果は同じく、$data0には、Arrayとしか表示されない空データが取得されるだけでした。
14
-
12
+  前のページでは、以下のコードで、DBを呼び出して、格納された順位データを取得しました。
13
+ 001 $CsScore=$_POST["customer_score"];
14
+ 002 $CsStage=$_POST["achieved_stage"];
15
+ 003 try {
16
+ 004 $DB=new PDO('mysql:dbname=????????;host=localhost;charset=sjis','ID,'パスワード);
17
+ 005 $DB->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
18
+ 006 $statement=$DB->prepare("SELECT * FROM hi_score"); $statement->execute();
19
+ 007 $data=$statement->fetchAll();
20
+ 008 for ($i=0;$i<=4;$i++){
21
+ 009 $data[$i]['Stage']=substr(" ".$data[$i]['Stage'],-8);
22
+ 010 $data[$i]['Name']=substr(" ".$data[$i]['Name'],-11);
23
+ 011 $data[$i]['Score']=substr("00000".$data[$i]['Score'],-6);
24
+ 012 }
25
+ 013 $DB=null;
26
+ 014}
27
+ 015 catch (PDOException $e) { echo 'DB接続エラー: ' . $e->getMessage(); }
28
+  このページでは、そのまま順位をphpからjsに渡して、表示することに成功しております。データは一旦phpからjsに渡されて処理したあとに、再びDBにアクセスしてデータを格納するために、phpに渡す目的でsubmitされます。
29
+  submit先のページの記述が以下です。
30
+ 001  $CsName=$_POST["name"];
31
+ 002 $CsStage=$_POST["stage"];
32
+ 003 $CsScore=$_POST["score"];
33
+ 004 $CsAddress=$_POST["address"];
34
+ 005 $j=$_POST["customer_lanking"];
35
+ 006 try {
36
+ 007 $DB=new PDO('mysql:dbname=?????????;host=localhost;charset=sjis','ID','パスワード');
37
+ 008 $DB-> setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
38
+ 009 }
39
+ 010 catch (PDOException $e) {  echo 'DB接続エラー: ' . $e->getMessage(); }
40
+ 010 for($i=5;$i>$j;$i--){
41
+ 011 $Name0=$data0['Name'];
42
+ 012 $Stage0=$data0['Stage'];
43
+ 013 $Score0=$data0['Score'];
44
+ 014 $Address0=$data0['Address'];
45
+ 015 $statement=$DB->prepare("UPDATE hi_score SET Name=:Name0,Stage=:Stage0,Score=:Score0,Address=:Address0 WHERE Number='".$i."'");
46
+ 016 $statement->bindParam(":Name0",$Name0,PDO::PARAM_STR);
47
+ 017 $statement->bindParam(":Stage0",$Stage0,PDO::PARAM_STR);
48
+ 018 $statement->bindParam(":Score0",$Score0,PDO::PARAM_INT);
49
+ 019 $statement->bindParam(":Address0",$Address0,PDO::PARAM_STR);
50
+ 020 $statement->execute();
51
+ 021 }
52
+ 022 $statement=$DB->prepare("UPDATE hi_score SET Name=:CsName,Stage=:CsStage,Score=:CsScore,Address=:CsAddress WHERE Number='".$j."'");
53
+ 023 $statement->bindParam(":CsName",$CsName,PDO::PARAM_STR);
54
+ 024 $statement->bindParam(":CsStage",$CsStage,PDO::PARAM_STR);
55
+ 025 $statement->bindParam(":CsScore",$CsScore,PDO::PARAM_INT);
56
+ 026 $statement->bindParam(":CsAddress",$CsAddress,PDO::PARAM_STR);
57
+ 027 $statement->execute();
58
+ 028 $DB=null;  
59
+  このページでは、再び順位を取得して、プレイヤーと比較して、新たな順位をDBに格納するのですが、取得したはずの$data0の内容が、echoで表示するとすべてArrayとしかでず、空データしか取得されません。従って、データーはヌルストリングと0が格納されてしまいます。  読み込みのコードがまずいのかと考え、以下のコードも試しました。
60
+ 001 $CsName=$_POST["name"];
61
+ 002 $CsStage=$_POST["stage"];
62
+ 003$CsScore=$_POST["score"];
63
+ 004 $CsAddress=$_POST["address"];
64
+ 005 $j=$_POST["customer_lanking"];
65
+ 006 $DB=new PDO('mysql:dbname=?????????;host=localhost;charset=sjis','ID','パスワード');
66
+ 007 $DB->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
67
+ 008 for($i=5;$i>$j;$i--){
68
+ 009 $k=$i-1;
69
+ 010 $statement=$DB->prepare('SELECT * FROM hi_score WHERE Number=?');
70
+ 011 $statement->bindValue(1,$i);
71
+ 012 $statement->execute();
72
+ 013 $data0=$statement->fetch();
73
+ 014 $Name0=$data0['Name'];
74
+ 015 $Stage0=$data0['Stage'];
75
+ 016 $Score0=$data0['Score'];
76
+ 017 $Address0=$data0['Address'];
77
+ 018 $statement=$DB->prepare("UPDATE hi_score SET Name=:Name0,Stage=:Stage0,Score=:Score0,Address=:Address0 WHERE Number='".$i."'");
78
+ 019 $statement->bindParam(":Name0",$Name0,PDO::PARAM_STR);
79
+ 020 $statement->bindParam(":Stage0",$Stage0,PDO::PARAM_STR); $statement->bindParam(":Score0",$Score0,PDO::PARAM_INT);
80
+ 021 $statement->bindParam(":Address0",$Address0,PDO::PARAM_STR);
81
+ 022 $statement->execute();
82
+ 023 }
83
+ 024 $statement=$DB->prepare("UPDATE hi_score SET Name=:CsName,Stage=:CsStage,Score=:CsScore,Address=:CsAddress WHERE Number='".$j."'");
84
+ 025 $statement->bindParam(":CsName",$CsName,PDO::PARAM_STR);
85
+ 026 $statement->bindParam(":CsStage",$CsStage,PDO::PARAM_STR);
86
+ 027 $statement->bindParam(":CsScore",$CsScore,PDO::PARAM_INT);
87
+ 028 $statement->bindParam(":CsAddress",$CsAddress,PDO::PARAM_STR);
88
+ 029 $statement->execute();
89
+ 030 $DB=null;  
90
+ しかし、結果は同じく、$data0には、Arrayとしか表示されない空データが取得されるだけでした。
91
+
92
+ よろしければ、アドバイスいただけたら幸いです。
15
93
  ```
16
94
 

2

ページの説明

2023/04/26 03:04

投稿

Burekomi
Burekomi

スコア1

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,10 @@
6
6
 
7
7
  jsとphpでゲームを作っているのですが、ハイスコアの格納にデータベースを使用したく思っております。データベースにテーブルを作って接続することころまではうまく行ったのですが、もともとデータベースにあるスコア順を読み込んで、jsで処理してphpで書き込むときに、なぜか同じデータを二度読み込めず、読み込んだデータは空データとして取得されました。
8
8
   全く同じ処理を、二つのページでやっているのですが、前のページではちゃんとデータを読み込むのに、後のページでは空データしか読み込みません。
9
-  じめのページでは、以下のコードで、DBを呼び出して、格納された順位データを取ました。 $CsScore=$_POST["customer_score"]; $CsStage=$_POST["achieved_stage"]; try { $DB=new PDO('mysql:dbname=????????;host=localhost;charset=sjis','ID,'パワード); $DB->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC); $statement=$DB->prepare("SELECT * FROM hi_score"); $statement->execute(); $data=$statement->fetchAll(); for ($i=0;$i<=4;$i++){ $data[$i]['Stage']=substr(" ".$data[$i]['Stage'],-8); $data[$i]['Name']=substr(" ".$data[$i]['Name'],-11); $data[$i]['Score']=substr("00000".$data[$i]['Score'],-6); } $DB=null; } catch (PDOException $e) { echo 'DB接続エラー: ' . $e->getMessage(); }  このページでは、そのまま順位をphpからjs渡して、表示することに成功しております。データは一旦phpからjsに渡されて処理したあとに、再びDBにアクセスしてデータ格納するために、phpに渡す目的でsubmitされます。  submit先ページの記述が以下です。  $CsName=$_POST["name"]; $CsStage=$_POST["stage"]; $CsScore=$_POST["score"]; $CsAddress=$_POST["address"]; $j=$_POST["customer_lanking"]; try { $DB=new PDO('mysql:dbname=?????????;host=localhost;charset=sjis','ID','パスワード'); $DB-> setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
9
+ 処理として、ゲームが終わり、前のページでデータベースからハイスコアを取り出jsでゲームのコアを評価し、ハイスコアに入るようなら、postメソッドで後のページに送って、phpデータベースに格納すると言うものです。
10
+ ゲームした人のスコアは格納できるのですが、それによってずれた順位の成績を、データベースに格納するときに、もう一度データーベースを参照するのですが、そのときのデータ取得がうまくいかないために、順位が変わった部分に、空白とゼロが格納されてしまうようです。
11
+
12
+  前のページでは、以下のコードで、DBを呼び出して、格納された順位データを取得しました。 $CsScore=$_POST["customer_score"]; $CsStage=$_POST["achieved_stage"]; try { $DB=new PDO('mysql:dbname=????????;host=localhost;charset=sjis','ID,'パスワード); $DB->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC); $statement=$DB->prepare("SELECT * FROM hi_score"); $statement->execute(); $data=$statement->fetchAll(); for ($i=0;$i<=4;$i++){ $data[$i]['Stage']=substr(" ".$data[$i]['Stage'],-8); $data[$i]['Name']=substr(" ".$data[$i]['Name'],-11); $data[$i]['Score']=substr("00000".$data[$i]['Score'],-6); } $DB=null; } catch (PDOException $e) { echo 'DB接続エラー: ' . $e->getMessage(); }  このページでは、そのまま順位をphpからjsに渡して、表示することに成功しております。データは一旦phpからjsに渡されて処理したあとに、再びDBにアクセスしてデータを格納するために、phpに渡す目的でsubmitされます。  submit先のページの記述が以下です。  $CsName=$_POST["name"]; $CsStage=$_POST["stage"]; $CsScore=$_POST["score"]; $CsAddress=$_POST["address"]; $j=$_POST["customer_lanking"]; try { $DB=new PDO('mysql:dbname=?????????;host=localhost;charset=sjis','ID','パスワード'); $DB-> setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
10
13
     } catch (PDOException $e) {  echo 'DB接続エラー: ' . $e->getMessage(); } for($i=5;$i>$j;$i--){ $Name0=$data0['Name']; $Stage0=$data0['Stage']; $Score0=$data0['Score']; $Address0=$data0['Address']; $statement=$DB->prepare("UPDATE hi_score SET Name=:Name0,Stage=:Stage0,Score=:Score0,Address=:Address0 WHERE Number='".$i."'"); $statement->bindParam(":Name0",$Name0,PDO::PARAM_STR); $statement->bindParam(":Stage0",$Stage0,PDO::PARAM_STR); $statement->bindParam(":Score0",$Score0,PDO::PARAM_INT); $statement->bindParam(":Address0",$Address0,PDO::PARAM_STR); $statement->execute(); } $statement=$DB->prepare("UPDATE hi_score SET Name=:CsName,Stage=:CsStage,Score=:CsScore,Address=:CsAddress WHERE Number='".$j."'"); $statement->bindParam(":CsName",$CsName,PDO::PARAM_STR); $statement->bindParam(":CsStage",$CsStage,PDO::PARAM_STR); $statement->bindParam(":CsScore",$CsScore,PDO::PARAM_INT); $statement->bindParam(":CsAddress",$CsAddress,PDO::PARAM_STR); $statement->execute(); $DB=null;   このページでは、再び順位を取得して、プレイヤーと比較して、新たな順位をDBに格納するのですが、取得したはずの$data0の内容が、echoで表示するとすべてArrayとしかでず、空データしか取得されません。従って、データーはヌルストリングと0が格納されてしまいます。  読み込みのコードがまずいのかと考え、以下のコードも試しました。 $CsName=$_POST["name"]; $CsStage=$_POST["stage"]; $CsScore=$_POST["score"]; $CsAddress=$_POST["address"]; $j=$_POST["customer_lanking"]; $DB=new PDO('mysql:dbname=?????????;host=localhost;charset=sjis','ID','パスワード'); $DB->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC); for($i=5;$i>$j;$i--){ $k=$i-1; $statement=$DB->prepare('SELECT * FROM hi_score WHERE Number=?'); $statement->bindValue(1,$i); $statement->execute(); $data0=$statement->fetch(); $Name0=$data0['Name']; $Stage0=$data0['Stage']; $Score0=$data0['Score']; $Address0=$data0['Address']; $statement=$DB->prepare("UPDATE hi_score SET Name=:Name0,Stage=:Stage0,Score=:Score0,Address=:Address0 WHERE Number='".$i."'"); $statement->bindParam(":Name0",$Name0,PDO::PARAM_STR); $statement->bindParam(":Stage0",$Stage0,PDO::PARAM_STR); $statement->bindParam(":Score0",$Score0,PDO::PARAM_INT); $statement->bindParam(":Address0",$Address0,PDO::PARAM_STR); $statement->execute(); } $statement=$DB->prepare("UPDATE hi_score SET Name=:CsName,Stage=:CsStage,Score=:CsScore,Address=:CsAddress WHERE Number='".$j."'"); $statement->bindParam(":CsName",$CsName,PDO::PARAM_STR); $statement->bindParam(":CsStage",$CsStage,PDO::PARAM_STR); $statement->bindParam(":CsScore",$CsScore,PDO::PARAM_INT); $statement->bindParam(":CsAddress",$CsAddress,PDO::PARAM_STR); $statement->execute(); $DB=null;  しかし、結果は同じく、$data0には、Arrayとしか表示されない空データが取得されるだけでした。
11
14
 
12
15
  ```

1

ソースコードを追加しました

2023/04/26 02:52

投稿

Burekomi
Burekomi

スコア1

test CHANGED
File without changes
test CHANGED
@@ -6,16 +6,8 @@
6
6
 
7
7
  jsとphpでゲームを作っているのですが、ハイスコアの格納にデータベースを使用したく思っております。データベースにテーブルを作って接続することころまではうまく行ったのですが、もともとデータベースにあるスコア順を読み込んで、jsで処理してphpで書き込むときに、なぜか同じデータを二度読み込めず、読み込んだデータは空データとして取得されました。
8
8
   全く同じ処理を、二つのページでやっているのですが、前のページではちゃんとデータを読み込むのに、後のページでは空データしか読み込みません。
9
-  読み込み処理はphpでよう書きました。
10
-  $DB=new PDO("mysql:dbname= …… ;host=……",$user,$pass);
11
-  $statement=$DB~>prepare("SELECT * FROM ……");
12
- $statement->execute();
13
- $data=$statement->fetchAll();
14
-
15
- これで、先のページのほうは、$dataに2次配列が入ってくるのですが、後のページの方では空データしか入ってきません。コピーして使ったので、全く同じ処理です。
16
-
17
-  どうすれば、データベースから正しく読み込めるでしょうか。
18
-  お知恵をお貸しください。
9
+  はじめページで、以下のコードで、DBを呼び出して、格納された順位データを取得しました。 $CsScore=$_POST["customer_score"]; $CsStage=$_POST["achieved_stage"]; try { $DB=new PDO('mysql:dbname=????????;host=localhost;charset=sjis','ID,'パスワード); $DB->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC); $statement=$DB->prepare("SELECT * FROM hi_score"); $statement->execute(); $data=$statement->fetchAll(); for ($i=0;$i<=4;$i++){ $data[$i]['Stage']=substr(" ".$data[$i]['Stage'],-8); $data[$i]['Name']=substr(" ".$data[$i]['Name'],-11); $data[$i]['Score']=substr("00000".$data[$i]['Score'],-6); } $DB=null; } catch (PDOException $e) { echo 'DB接続エラー: ' . $e->getMessage(); }  このページは、そまま順位をphpからjs渡して、表示することに成功しておりす。データは一旦phpからjsに渡されて処理したあとに、再びDBにアクセスしてデータを格納するために、phpに渡す目的でsubmitされます  submit先のページの記述が以下です。  $CsName=$_POST["name"]; $CsStage=$_POST["stage"]; $CsScore=$_POST["score"]; $CsAddress=$_POST["address"]; $j=$_POST["customer_lanking"]; try { $DB=new PDO('mysql:dbname=?????????;host=localhost;charset=sjis','ID','パスワード'); $DB-> setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
10
+    } catch (PDOException $e) {  echo 'DB接続エラー: ' . $e->getMessage(); } for($i=5;$i>$j;$i--){ $Name0=$data0['Name']; $Stage0=$data0['Stage']; $Score0=$data0['Score']; $Address0=$data0['Address']; $statement=$DB->prepare("UPDATE hi_score SET Name=:Name0,Stage=:Stage0,Score=:Score0,Address=:Address0 WHERE Number='".$i."'"); $statement->bindParam(":Name0",$Name0,PDO::PARAM_STR); $statement->bindParam(":Stage0",$Stage0,PDO::PARAM_STR); $statement->bindParam(":Score0",$Score0,PDO::PARAM_INT); $statement->bindParam(":Address0",$Address0,PDO::PARAM_STR); $statement->execute(); } $statement=$DB->prepare("UPDATE hi_score SET Name=:CsName,Stage=:CsStage,Score=:CsScore,Address=:CsAddress WHERE Number='".$j."'"); $statement->bindParam(":CsName",$CsName,PDO::PARAM_STR); $statement->bindParam(":CsStage",$CsStage,PDO::PARAM_STR); $statement->bindParam(":CsScore",$CsScore,PDO::PARAM_INT); $statement->bindParam(":CsAddress",$CsAddress,PDO::PARAM_STR); $statement->execute(); $DB=null;   このページでは、再び順位を取得して、プレイヤーと比較して、新たな順位をDBに格納するのですが、取得したはずの$data0の内容が、echoで表示するとすべてArrayとしかでず、空データしか取得されません。従って、データーはヌルストリングと0が格納されてしまいます。  読み込みのコードがまずいのかと考え、以下のコードも試しました。 $CsName=$_POST["name"]; $CsStage=$_POST["stage"]; $CsScore=$_POST["score"]; $CsAddress=$_POST["address"]; $j=$_POST["customer_lanking"]; $DB=new PDO('mysql:dbname=?????????;host=localhost;charset=sjis','ID','パスワード'); $DB->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC); for($i=5;$i>$j;$i--){ $k=$i-1; $statement=$DB->prepare('SELECT * FROM hi_score WHERE Number=?'); $statement->bindValue(1,$i); $statement->execute(); $data0=$statement->fetch(); $Name0=$data0['Name']; $Stage0=$data0['Stage']; $Score0=$data0['Score']; $Address0=$data0['Address']; $statement=$DB->prepare("UPDATE hi_score SET Name=:Name0,Stage=:Stage0,Score=:Score0,Address=:Address0 WHERE Number='".$i."'"); $statement->bindParam(":Name0",$Name0,PDO::PARAM_STR); $statement->bindParam(":Stage0",$Stage0,PDO::PARAM_STR); $statement->bindParam(":Score0",$Score0,PDO::PARAM_INT); $statement->bindParam(":Address0",$Address0,PDO::PARAM_STR); $statement->execute(); } $statement=$DB->prepare("UPDATE hi_score SET Name=:CsName,Stage=:CsStage,Score=:CsScore,Address=:CsAddress WHERE Number='".$j."'"); $statement->bindParam(":CsName",$CsName,PDO::PARAM_STR); $statement->bindParam(":CsStage",$CsStage,PDO::PARAM_STR); $statement->bindParam(":CsScore",$CsScore,PDO::PARAM_INT); $statement->bindParam(":CsAddress",$CsAddress,PDO::PARAM_STR); $statement->execute(); $DB=null;  しかし、結果は同じく、$data0には、Arrayとしか表示されない空データが取得されるだけでした。
19
11
 
20
12
  ```
21
13