1

我正在尝试将来自外部 json 的数据附加到另一个 MYSQL 表中。我熟悉 php,但不是任何形式的专业人士。因此,如果我犯了一些愚蠢的错误,我一点也不感到惊讶。

这就是我正在做的

<?php
// Declaring database parameters as constants
define('DB_NAME', 'this has my db name');
define('DB_USER', 'this stores my user name');
define('DB_PASSWORD', 'my password');
define('DB_HOST', 'localhost');

$data_variable = file_get_contents("http://data.cityofnewyork.us/resource/a7hj-s5px.json");

//making database connection
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

//Checking for server connection and printing statements

if(!$link){
    die('could not connect:' . mysql_error());
}

$db_selct = mysql_select_db(DB_NAME, $link);

if(!$db_selct){
    die('Can not use : ' . DB_NAME . ':' .mysql_error());
}

//echo 'connection sucessful';

$data = json_decode($data_variable, true);

//Let me know I can turn this on to show how the array looks like.
//print_r(array_values($data));

foreach($date["noise"] as $new_data){

$var_one = $new_data[incident_zip];

mysql_query("INSERT INTO noise (zip_code) VALUES('$var_one')") or die (mysql_error());
}


?>

我究竟做错了什么?

我在这里找到了一个非常相似的解决方案并且几乎遵循它,但我可能没有做正确的事情

JSON 到 MYSQL - JSON 响应格式是否正确 - 循环正确?

这是我看到错误消息的页面的链接 http://soumghosh.com/otherProjects/phpDataOperation/test1.php

错误
警告:在第 31 行的 /home3/soum/public_html/otherProjects/phpDataOperation/test1.php 中为 foreach() 提供的参数无效

这仍处于调查阶段。我可能会回到这个问题,在架构层面上征求你们的意见。

4

1 回答 1

1

您可以将foreach()块更改为以下内容以避免警告和错误

if(isset($data)) {
    foreach($data as $new_data){
        $var_one = $new_data['incident_zip'];
        mysql_query("INSERT INTO noise (zip_code) VALUES('$var_one')") or die (mysql_error());
    }
} else {
  //log the error
}
于 2013-10-09T02:43:31.620 回答