実現したいこと
phpmyadminで作成したテーブルに配列データを一括でレコードに追加する
前提
テーブルカラムは
・id(A_I)
・name
として県名を別々に連番で47レコードを配列データから作成したいのですが1つのレコードに全てのデータが含まれてしまいます
該当のソースコード
PHP
1<?php 2$samplejson = file_get_contents("sample.json"); 3$samplejson = mb_convert_encoding($samplejson, "UTF-8", "ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN"); 4$sampleobj = json_decode($samplejson,true); 5 6foreach($sampleobj as $key => $vl) { 7 foreach($vl as $num => $info) { 8 //echo $info["short"]. " "; 確認用 表示内容(北海道 青森 岩手 宮城 秋田 山形 福島 茨城 栃木 群馬 埼玉 千葉 東京 神奈川 新潟 富山 石川 福井 山梨 長野 岐阜 静岡 愛知 三重 滋賀 京都 大阪 兵庫 奈良 和歌山 鳥取 島根 岡山 広島 山口 徳島 香川 愛媛 高知 福岡 佐賀 長崎 熊本 大分 宮崎 鹿児島 沖縄) 9 $short = $info['short']; // 県名の配列データを取得 10 $instpn[] = "(". $short. ")"; // insert用に変換 11 $bindpn = implode(",", $instpn); 12 } 13} 14 $sql = $pdo->prepare("INSERT INTO prefecture ( name ) VALUES (:name)"); 15 $sql->bindParam( ':name', $bindpn, PDO::PARAM_STR); 16 $result = $sql->execute(); 17 $pdo = null; 18?>
現状
columnのid=1に対し
(北海道),(青森),(岩手),(宮城),(秋田),(山形),(福島),(茨城),(栃木),(群馬),(埼玉),(千葉),(東京),(神奈川),(新潟),(富山),(石川),(福井),(山梨),(長野),(岐阜),(静岡),(愛知),(三重),(滋賀),(京都),(大阪),(兵庫),(奈良),(和歌山),(鳥取),(島根),(岡山),(広島),(山口),(徳島),(香川),(愛媛),(高知),(福岡),(佐賀),(長崎),(熊本),(大分),(宮崎),(鹿児島),(沖縄)
と登録されています。

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。