これは、 'country.json'のjsonデータをmysqlテーブルに保存するためのPHPコードです。 [{ "名前": "アフガニスタン"、 "コード": "AF" }、{ "名前":「APHPコードでこのエラーを解決する方法
<?php
$host="localhost";
$user="root";
$pass="";
$db="jsondb";
$connect= new mysqli($host,$user,$pass,$db) or die("ERROR:could not connect to the database!!!");
$fo=fopen("country.json","r");
$fr=fread($fo,filesize("country.json"));
$array=json_decode($fr,true);
//To display all values from JSON file
//print_r($array);
$query="insert into country values('$array[name]','$array[code]')";
$connect->query($query);
echo "Data Imported Sucessfully from JSON!";
?>
JSONファイルは、これらのようなentrisの100以上を有します...土地諸島」、 "コード": "AX" }、{ "名前": "アルバニア"、 "コード": "AL" を}
しかし、ブラウザローカルホストでこのスクリプトを実行した後、エラー:
お知らせ:未定義のインデックス:Cでの名前:\ xamppの\ htdocsに\ Suraj_Assignment_8 \ Suraj_Assignment_8.phpライン上の17
お知らせ:未定義のインデックス:Cのコード:\ xamppの\ htdocsに\ Suraj_Assignment_8 \ Suraj_Assignment_8.phpライン17上の データがJSONから正常にインポートされました!
どうすれば解決できますか?として
$query="insert into country values('".$array['name']."','".$array['code']."')";
'のvar_dump($配列)をエスケープすることができ;'。ああ、見て... –
SQLステートメントの中でこのような "配列の構築"を使用することはできませんが、実際には動作するようになっています。あなたは、フィールドと値のリストを作成するために配列要素を繰り返しループすることができます。または、CSVにエクスポートしてMySQLサーバーに直接ロードします。 – arkascha
あなたは '$ array'をループする必要があります。私の答えを見てください。 – weigreen