我試圖從使用PHP的JSON feed將數據導入到MySQL數據庫中。從Import.io導入MySQL數據庫中的JSON
我有下面的代碼,但沒有得到它的任何地方。
我只是得到Connected to Database
但沒有任何東西從JSON數據中被拉入。
正在使用import.io從feed中創建JSON數據。
任何幫助表示讚賞
JSON數據here
<?php
$data = file_get_contents('https://query.import.io/store/connector/e18543ae-48d1-47d3-9dc7-c3d55cab2951/_query?_user=363ec2db-fb95-413f-9a20-3fe89acbf061&_apikey=HOXvwSMX4HlmqH123i5HeELV6BwKq%2BFRInTzXc4nfl5VtP0pJyChxMT9AEiu1Ozi0vWZmUB%2BKcSsxHz2ElHNAg%3D%3D&format=JSON&input/webpage/url=http%3A%2F%2Fsports.yahoo.com%2Fgolf%2Fpga%2Fleaderboard');
$array = json_decode($data, true);
$rows = array();
$index = 0;
foreach($array['results'] as $mydata)
{
print_r($mydata);
echo "<br>";
foreach($mydata as $key => $value)
{
print_r ($key);
print_r ($value);
echo $index;
echo "<br><br>";
$rows[] = "('" . $value . "')";
}
echo "<br>";
$index++;
}
echo "<br><br><br>";
print_r ($rows);
$values = implode(",", $rows);
echo "<br><br><br>";
print_r ($values);
$hostname = 'localhost'; // write the rest of your query
$username = 'username';
$password = 'password';
try
{
$dbh = new PDO("mysql:host=$hostname;dbname=database", $username, $password);
echo 'Connected to database<br />'; // echo a message saying we have connected
$count = $dbh->exec("INSERT INTO import_io (total, round_1, round_2, round_3, round_4, thru, name/_source, name, today, name/_text, strokes) VALUES ($values)");
echo $count;// echo the number of affected rows
$dbh = null;// close the database connection
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
在從import.io提取數據後,您嘗試將數組轉換爲foreach循環中的字符串後,您的php代碼出現了一些錯誤。所以你的結果是這樣的:'('0','Array')('1','Array')'...試着做一個'print_r($ values)'來檢查你正在嘗試的值插入DB – Cristian
'foreach($ array ['results'] as $ key => $ value) $ rows [] =「('」。$ key。「','。。$ value。」')「 ;' 所以這一行工作不正常?我只是想知道如何解決它,因爲我有麻煩。這是否是JSON有更多的結果,我只想要其中的一部分。即結果部分? – Alan
我已經到了這個地步(我想),我已經將所有需要將數據庫放入名爲'$ values'的變量的數據放入數據庫中,但它仍然無法填充。還有什麼幫助? – Alan