Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

PHP Integrating PHP with Databases Querying the Database with PHP Working with Results

Gary Logue
Gary Logue
13,779 Points

Working with results Code Challenge PHP

What i am talking about is "Working with results" challenge that is in PHP path > Integrating php with databases.

I am not sure what it is asking me to do to be honest. It said we used the method in the last video. Hope someone can help :). here is the question

We've included a helper.php file that contain the connection to the database and give us a PDO object $db to use. This helper file also contains a function to send_offer. The send_offer function accepts the following arguments: $member_id, $email, $fullname, $level In the current file, we've included the query to select the required items from the database. The results of the database query are stored in a PDOStatement object named $results. Loop through those results and pass them to the send_offer function.

here is the code

<?php
include "helper.php";

try {
    $results = $db->query(
        "SELECT member_id, email, fullname, level FROM members"
    );
} catch (Exception $e) {
    echo $e->getMessage();
}
//add code below this line
$info=  $results->fetchAll();

function send_offer($info);

?> ```

1 Answer

You're partially there. You got the method right and assigned to a variable correctly, you just need to adjust how your using it with the send_offer() function.

The variable $info is now a nested array, so you'll want to access it with a foreach loop. Then you'll call the function within that loop and your arguments will have to be specified by key (which are the same as the SELECT fields from the SQL querry).

Here's what it should look like if you don't want to spend all day pondering my reply:

<?php
$info = $results->fetchAll();
foreach($info as $i ) {
  send_offer($i['member_id'],$i['email'],$i['fullname'],$i['level']);
}