db_query() and db_select() don't return any value I'm trying to run the following query.
SELECT floormap_counter_expected.counter_name, tls_connect_agent_counters.counter_stage,tls_connect_agent_counters.applicant_gwf, tls_connect_agent_counters.counter_ip, floormap_counter_expected.expected FROM tls_connect_agent_counters INNER JOIN floormap_counter_expected ON floormap_counter_expected.counter_name = tls_connect_agent_counters.counter_name;

When executed via the command line, MYSQL returns the information I need.
When I try the following code, I get an error saying that $center_counters is not set.
$get_counter_info = db_select('tls_connect_agent_counters', 't');
$get_counter_info-&gt;fields('t', array('counter_stage', 'applicant_gwf', 'counter_ip'));
$get_counter_info-&gt;fields('n', array('expected'));
$get_counter_info-&gt;join('floormap_counter_expected', 'n', 't.counter_name = n.counter_name');
$get_counter_info-&gt;execute()-&gt;fetchAll();
if (isset($get_counter_info)) {
  foreach ($get_counter_info as $results) {
    echo &quot;Rest&quot;;
    $center_counters[$results-&gt;counter_name]['stage'] = $results-&gt;counter_stage;
    $center_counters[$results-&gt;counter_name]['counter_ip'] = $results-&gt;counter_ip;
    $i++;
  }
}
return $center_counters;

The same happens with the following code.
$counters_query = &quot;SELECT floormap_counter_expected.counter_name, tls_connect_agent_counters.counter_stage,&quot;;
$counters_query .= &quot;tls_connect_agent_counters.applicant_gwf, tls_connect_agent_counters.counter_ip, &quot;;
$counters_query .= &quot;floormap_counter_expected.expected FROM tls_connect_agent_counters INNER JOIN &quot;;
$counters_query .= &quot;floormap_counter_expected ON floormap_counter_expected.counter_name = tls_connect_agent_counters.counter_name&quot;;
$get_counter_info = db_query($counters_query);
$get_counter_info-&gt;fetchAll();
if (isset($get_counter_info)) {
  foreach ($get_counter_info as $results) {
    echo &quot;Rest&quot;;
    $center_counters[$results-&gt;counter_name]['stage'] = $results-&gt;counter_stage;
    $center_counters[$results-&gt;counter_name]['counter_ip'] = $results-&gt;counter_ip;
    $i++;
  }
}
return $center_counters;

I tried wrapping the code with try{} catch(Exception $e) {echo $e-getMessage()}, but nothing is printed.
I assume the query is running without error because nothing is &quot;caught&quot;.
I was thinking that maybe I'm just calling the information wrong in my foreach loop. Maybe I should identify the table name as well when I call the field name. I don't think that is the case as nothing is printed when I try to echo strings out of foreach.
$get_counter_info-&gt;execute()-&gt;fetchAll();


will execute the query...but what are you doing with the results, exactly? At the moment you're discarding them, instead you need to assign them to a variable.

$results = $get_counter_info-&gt;execute()-&gt;fetchAll();
foreach ($results as $result) {
  ...
}


Or at the very least actually use the return value from the execution:

foreach ($get_counter_info-&gt;execute()-&gt;fetchAll() as $result) {
  ...
}