私はPHPが初めてで、JSONファイルの2番目の値を読み取れません。私の現在のJSONファイルを次のようにPHP JSONは配列の2番目の項目のnull値を読み込み続けます
[
{
"name": "Jennifer",
"PvPwins": 20
},
{
"name": "Johnny",
"PvPwins": 10
}
]
$json = file_get_contents("JSON_Data.json");
$data = json_decode($json, true);
$query = "INSERT INTO Test(name, PvPwins) VALUES (?, ?)";
$st = mysqli_prepare($con, $query);
foreach ($data as $row) {
$name = $row['name'];
$PvPwins = $row['PvPwins'];
mysqli_stmt_bind_param($st, "si", $name, $PvPWins); // edited to move this down
echo $name. " " .$PvPWins. "<br/>";
mysqli_stmt_execute($st);
} printf("Error : %s.\n", mysqli_stmt_error($st));
私は次の出力を取得し、次のように私のコードは次のとおりです。
Jennifer
Johnny
James
Error: Column 'PvPwins' cannot be null.
//編集 - それは名前だけの罰金を出力しますが、が、 PvPwinsを読むことを拒否し、それは小さいWの勝利です。私はまだ葉巻を掲示する前にチェックしました。
助けてくれてありがとう!
ケースの問題。 '$ PvPwins'(小文字の 'w')変数を定義しますが、' $ PvPWins'(大文字の 'w')を使用しようとしています。 – jszobody
foreachの前に変数$ name $ PvPwinsがないので、bind_paramはforeach内にある必要があります。 – JYoThI
固定。助けてくれてありがとう。私は実際にデータベーステーブルのPvPwinsの代わりに私のstmt_bind_paramのPvPWins – Sebastian