简体   繁体   中英

PHP : Array to MySQL Database

I'd like to put some variables of my array into a MySQL Database.

My array is called $data and looks like this :

Array
(
[0] => Array
    (
        [created_at] => Wed Aug 20 19:38:58 +0000 2014
        [location] => Hollywood, CA
    )

[1] => Array
    (
        [created_at] => Wed Aug 20 16:45:48 +0000 2014
        [location] => Ventura County
    )

[2] => Array
    (
        [created_at] => Wed Aug 20 01:39:03 +0000 2014
        [location] => Berkeley, CA
    )

[3] => Array
    (
        [created_at] => Tue Aug 19 23:53:54 +0000 2014
        [location] => Charlotte, NC
    )

)

Then I created the MySQL "maj" with that query :

CREATE TABLE maj (id SERIAL, created_at TEXT, location TEXT)

I know how to create a variable $location and put it into the database (something like
$location= $data['location'] ). But I see the thing when the array is only composed of one location and not three..

So how could I do to populate my database with the three locations and the three created_at ?

Thank you !


Ok, I've edited my question by adding Aleatoric's snippet:

$get_tweets = $twitter_oauth->get (URL)
$tweets = json_encode($get_tweets);
$my_arr = json_decode($tweets, true);
$data = array();

foreach($my_arr["statuses"] as $status) {
    $data[] = array(
      "created_at" => $status["created_at"],
     "location" => $status["user"]["location"]
    );
}

$rows = [
    [
        'created_at'=>'date1',
        'location'=>'location1'
    ],[
        'created_at'=>'date2',
        'location'=>'location2'
    ]
];

foreach ($rows as $row){
    $date = $row['created_at'];
    $location = $row['location'];
    //run SQL insert
}

If you want to do something for each element in an array, you need a foreach loop, eg

$rows = [
    [
        'created_at'=>'date1',
        'location'=>'location1'
    ],[
        'created_at'=>'date2',
        'location'=>'location2'
    ]
];

foreach ($rows as $row){
    $date = $row['created_at'];
    $location = $row['location'];
    //run SQL insert
}

EDIT based on the updated code sample:

$get_tweets = $twitter_oauth->get (URL)
$tweets = json_encode($get_tweets);
$my_arr = json_decode($tweets, true);

//Declare the multidimensional data array which will contain the rows
$data = array();

//Populate the data array with arrays of values
foreach($my_arr["statuses"] as $status) {
$data[] = array(
    "created_at" => $status["created_at"],
   "location" => $status["user"]["location"]
  );
}

//Iterate over the data array
foreach ($data as $row){
    $date = $row['created_at'];
    $location = $row['location'];
    //run SQL insert
}

如果正确理解了您访问的第一个值,请尝试使用循环访问其余位置。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM