0

I have successfully connected to the twitter api and have pulled some tweets based on search terms. I have managed to send these tweets to a json file. I wish to save these to a mysql database but with only the twitter id, the text and the person who sent the tweet but I am contently getting this error:

Notice: Trying to get property of non-object in xxxxxxx on line 18

Notice: Trying to get property of non-object in xxxxxxx on line 19

Notice: Trying to get property of non-object in xxxxxxx on line 20 Array ( [id] => [text] => [name] => )

Here is my code:

    <?php

$str = "working";
$con = mysqli_connect("xxxx","xxxx","xxxx","xxxx");

// Check connection
if (mysqli_connect_errno()) {
    echo 'Failed to connect to MySQL: ' . mysqli_connect_error();
    exit();
}else{ 
echo $str;
}

$list = file_get_contents('tweets.json');
$json = json_decode($list, true );
 //print_r($json);

$tweets = array(
    'id' =>     $json->id,
    'text' =>   $json->text,    
    'name' =>   $json->name,
);
print_r($tweets);

$db_insert = mysql_query("INSERT INTO tweets(from, tweet, tweetid) VALUES ('name', 'text','id')");




?>
Array
(
[statuses] => Array
    (
        [0] => Array
            (
                [metadata] => Array
                    (
                        [result_type] => recent
                        [iso_language_code] => en
                    )

                [created_at] => Sun Feb 23 21:50:00 +0000 2014
                [id] => 4.3770592875932E+17
                [id_str] => 437705928759320577
                [text] => 2 new iPhone leads have just broken within 5 minutes of each. What are the odds of that?! No phone for a few days then!!!!
                [source] => Twitter for iPad
                [truncated] => 
                [in_reply_to_status_id] => 
                [in_reply_to_status_id_str] => 
                [in_reply_to_user_id] => 
                [in_reply_to_user_id_str] => 
                [in_reply_to_screen_name] => 
                [user] => Array
                    (
                        [id] => 221418717
                        [id_str] => 221418717
                        [name] => Craig Price
                        [screen_name] => CraigPrice1
                        [location] => Glanamman
                        [description] => Beer & Sport!
                        [url] => 
                        [entities] => Array
                            (
                                [description] => Array
                                    (
                                        [urls] => Array
                                            (
                                            )

                                    )

                            )

                        [protected] => 
                        [followers_count] => 269
                        [friends_count] => 765
                        [listed_count] => 1
                        [created_at] => Tue Nov 30 16:28:40 +0000 2010
                        [favourites_count] => 520
                        [utc_offset] => 0
                        [time_zone] => London
                        [geo_enabled] => 1
                        [verified] => 
                        [statuses_count] => 2852
                        [lang] => en
                        [contributors_enabled] => 
                        [is_translator] => 
                        [is_translation_enabled] => 
                        [profile_background_color] => 0F0F0F
                        [profile_background_image_url] => http://abs.twimg.com/images/themes/theme15/bg.png
                        [profile_background_image_url_https] => https://abs.twimg.com/images/themes/theme15/bg.png
                        [profile_background_tile] => 1
                        [profile_image_url] => http://pbs.twimg.com/profile_images/435485486153756672/cSzrw5eX_normal.jpeg
                        [profile_image_url_https] => https://pbs.twimg.com/profile_images/435485486153756672/cSzrw5eX_normal.jpeg
                        [profile_banner_url] => https://pbs.twimg.com/profile_banners/221418717/1392662771
                        [profile_link_color] => FA0000
                        [profile_sidebar_border_color] => EB0000
                        [profile_sidebar_fill_color] => C0DFEC
                        [profile_text_color] => 333333
                        [profile_use_background_image] => 1
                        [default_profile] => 
                        [default_profile_image] => 
                        [following] => 
                        [follow_request_sent] => 
                        [notifications] => 
                    )

                [geo] => 
                [coordinates] => 
                [place] => 
                [contributors] => 
                [retweet_count] => 0
                [favorite_count] => 0
                [entities] => Array
                    (
                        [hashtags] => Array
                            (
                            )

                        [symbols] => Array
                            (
                            )

                        [urls] => Array
                            (
                            )

                        [user_mentions] => Array
                            (
                            )

                    )

                [favorited] => 
                [retweeted] => 
                [lang] => en
            )

        [1] => Array
            (
                [metadata] => Array
                    (
                        [result_type] => recent
                        [iso_language_code] => en
                    )

                [created_at] => Sun Feb 23 21:26:01 +0000 2014
                [id] => 4.3769989372629E+17
                [id_str] => 437699893726289920
                [text] => @Mogz1457 how about a broken IPhone 3 eh?
                [source] => Twitter for iPhone
                [truncated] => 
                [in_reply_to_status_id] => 4.3757491419192E+17
                [in_reply_to_status_id_str] => 437574914191917056
                [in_reply_to_user_id] => 347149526
                [in_reply_to_user_id_str] => 347149526
                [in_reply_to_screen_name] => Mogz1457
                [user] => Array
                    (
                        [id] => 2353482857
                        [id_str] => 2353482857
                        [name] => Gwilym McCann
                        [screen_name] => theBigg_Mac
                        [location] => Cymru/Wales
                        [description] => The original Big Mac
                        [url] => 
                        [entities] => Array
                            (
                                [description] => Array
                                    (
                                        [urls] => Array
                                            (
                                            )

                                    )

                            )

                        [protected] => 
                        [followers_count] => 5
                        [friends_count] => 6
                        [listed_count] => 0
                        [created_at] => Wed Feb 19 23:31:15 +0000 2014
                        [favourites_count] => 1
                        [utc_offset] => 
                        [time_zone] => 
                        [geo_enabled] => 
                        [verified] => 
                        [statuses_count] => 3
                        [lang] => en
                        [contributors_enabled] => 
                        [is_translator] => 
                        [is_translation_enabled] => 
                        [profile_background_color] => C0DEED
                        [profile_background_image_url] => http://abs.twimg.com/images/themes/theme1/bg.png
                        [profile_background_image_url_https] => https://abs.twimg.com/images/themes/theme1/bg.png
                        [profile_background_tile] => 
                        [profile_image_url] => http://abs.twimg.com/sticky/default_profile_images/default_profile_5_normal.png
                        [profile_image_url_https] => https://abs.twimg.com/sticky/default_profile_images/default_profile_5_normal.png
                        [profile_banner_url] => https://pbs.twimg.com/profile_banners/2353482857/1392853158
                        [profile_link_color] => 0084B4
                        [profile_sidebar_border_color] => C0DEED
                        [profile_sidebar_fill_color] => DDEEF6
                        [profile_text_color] => 333333
                        [profile_use_background_image] => 1
                        [default_profile] => 1
                        [default_profile_image] => 1
                        [following] => 
                        [follow_request_sent] => 
                        [notifications] => 
                    )

                [geo] => 
                [coordinates] => 
                [place] => 
                [contributors] => 
                [retweet_count] => 0
                [favorite_count] => 0
                [entities] => Array
                    (
                        [hashtags] => Array
                            (
                            )

                        [symbols] => Array
                            (
                            )

                        [urls] => Array
                            (
                            )

                        [user_mentions] => Array
                            (
                                [0] => Array
                                    (
                                        [screen_name] => Mogz1457
                                        [name] => Morgan Williams
                                        [id] => 347149526
                                        [id_str] => 347149526
                                        [indices] => Array
                                            (
                                                [0] => 0
                                                [1] => 9
                                            )

                                    )

                            )

                    )

                [favorited] => 
                [retweeted] => 
                [lang] => en
            )
6
  • Any help would be much appreciated Commented Feb 24, 2014 at 18:32
  • json_decode($list, true) return result as associative array. So you have to use $json['id'] notation Commented Feb 24, 2014 at 18:35
  • doing this gives out an Undefined index: id error Commented Feb 24, 2014 at 18:40
  • Most likely the json has other structure than you expect. Add output of $list var Commented Feb 24, 2014 at 18:46
  • I have added some of the output. I appreciate all the help you have given me so far Commented Feb 24, 2014 at 18:54

1 Answer 1

1

Your json has multidimensional structure. So you have to process it in a loop. Somehow like this:

$json = json_decode($list, true);
if (is_array($json['statuses']))
foreach ($json['statuses'] as $item) {
    $id = $item['id']; $text = $item['text']; $from = $item['user']['id'];
    $db_insert = mysql_query("INSERT INTO tweets(from, tweet, tweetid) VALUES ('$from', '$text', '$id')");
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.