次の情報テーブルを使用して作成したばかりのテーブルを含むデータベース が あります 。このテーブルに。print_r($stuff) すると、次のようになります。
Array
(
[0]=> Array
(
[nut]=> Protein
[amt]=> 0.85
[units]=> g
)
[1]=> Array
(
[nut]=> Energy
[amt]=> 717
[units]=> kcal
)
etc.
)
接続は $db という名前の PDO オブジェクトであり、これは、配列を挿入するために使用して失敗したさまざまなバリエーションの 1 つです。
foreach ($stuff as $row){
$nut = $row['nut'];
$amt = $row['amt'];
$units = $row['units'];
$query= "insert into rec_nutr (nutrDesc, nutr_ttl,units)values ($nut,$amt,$units)";
$statement= $db->exec($query);
}
これを実行すると、エラー メッセージは表示されませんが、情報はテーブルに挿入されません。
私もこのステートメントを使用してみました
$stmt = $db->prepare("INSERT INTO rec_nutr(nutrDesc, nutr_ttl,units) VALUES ( ?, ?, ?)");
foreach($stuff as $row) {
$stmt->execute(array( $row['nut'],$row['amt'],$row['units']));
}
しかし、再び運が悪い
注: 配列は、JSON を使用して Web ページから取り出され、JSON_decode を使用してデコードされました。次に、print_r($stuff) を使用して配列を確認しました。文字列として入ってくる場合に備えて、amt で floatvar() を使用しようとしましたが、それは役に立たなかったようです。挿入時にエラー メッセージが表示されるかどうかを確認するために追加できるものはありますか?