數組我有一個JSON看起來像這樣:在PHP爆從Json的
{
"num_found": 407343,
"results": [
{
"speaker_state": "LA",
"speaking": [
"ABC",
"DEF",
"GHI"
],
"speaker_party": "D",
},
等。我正試圖將這些數據解析到MySQL數據庫中。我改編了以下php代碼:
<?php
$hostname_ndb = "localhost";
$database_ndb = "senate";
$username_ndb = "root";
$password_ndb = "root";
$ndb = mysql_pconnect($hostname_ndb, $username_ndb, $password_ndb) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database_ndb);
$url = "http://xxx.yyy/text.json";
$json = file_get_contents($url);
$out = json_decode($json, true);
foreach($out["results"] as $results) {
$speaker_state = $results['speaker_state'];
$speaking2 = $results['speaking'];
$speaking = implode('', $speaking2);
$date = $results['date'];
mysql_query("INSERT INTO speeches (speaker_state, speaking, date) VALUES('$speaker_state', '$speaking','$date')") or die (mysql_error());
}
?>
數組中有一個數組,它似乎是問題。該腳本不起作用,數據不存儲在數據庫中。該腳本返回錯誤「您的SQL語法錯誤;請查看與您的MySQL服務器版本相對應的手冊,以便在第1行的'speaking,date'附近使用正確的語法。
PHP日誌顯示通知: 「PHP注意:Array對/Applications/MAMP/htdocs/json.php串轉換上線46」。在php日誌
的var_dump($ speaking2)返回:
array(3) { [0]=> string(713) "XXX" [1]=> string(891) "ZZZ" [2]=> string(1189)
和等等。 你會如何建議我修改這個腳本以使其工作?
1.這是一個通知,而不是一個錯誤2.什麼顯示'var_dump($ speaking2)' –
我更新了我的問題與更多的信息。 – user1029296
脫離主題,但請注意'mysql_xx()'函數已被棄用,並且不鼓勵使用它們。您應該考慮切換到更好的受支持的數據庫API,例如PDO庫。 – Spudley