Welcome Guest, Not a member yet? Register   Sign In
How to display results from $DB->query
#1

[eluser]GlynD[/eluser]
Hi all

I'm using this query to get the last member_id from the table exp_members:

Code:
<?php
   global $DB;
   $query = $DB->query("SELECT member_id FROM exp_members ORDER BY member_id DESC LIMIT 0, 1");
   if ($query->num_rows > 0){
      echo $query->row(...);
   }
?>

But I've not been able to work out how to get the member_id from the query. Any suggestions welcome.

Many thanks

Glyn
#2

[eluser]mddd[/eluser]
If you get a row through the $query->row() method, you get an object with properties representing the columns.
So row()->member_id is what you are looking for.

Code:
$query = $this->db->query('SELECT member_id FROM exp_members ORDER BY member_id DESC LIMIT 0, 1');
if ($query->num_rows()==1)
{
  $member_id = $query->row()->member_id;
}
#3

[eluser]GlynD[/eluser]
Thanks for that but the brackets seem to be causing problems.

If I change this:
Code:
if ($query->num_rows()==1){

To this:
Code:
if ($query->num_rows==1){

It works Big Grin

However, these don't Sad
Code:
$member_id = $query->row()->member_id;

$member_id = $query->row->member_id;
#4

[eluser]GlynD[/eluser]
Sigh...

And neither does this:

Code:
if ($query->num_rows ==1){
   $row = $query->row;
   echo $row->member_id;
}
#5

[eluser]mddd[/eluser]
Check the manual.
$query->num_rows might be an existing property, but officially it is $query->num_rows();
Same goes for row(): it is $query->row();
#6

[eluser]gigas10[/eluser]
Code:
<?php
   $query = $this->db->query("SELECT member_id FROM exp_members ORDER BY member_id DESC LIMIT 0, 1");
   $row = $query->row();
   if ($query->num_rows() == 0){
      echo $row->member_id;
   }
?>
#7

[eluser]GlynD[/eluser]
cheers guys but as soon as I add the brackets in it stops working.

i.e.

This works:
Code:
if ($query->num_rows==1){...}

But this doesn't:
Code:
if ($query->num_rows()==1){...}
#8

[eluser]GlynD[/eluser]
Got it working. Thanks for the input folks. Here's the final code:

Code:
<?php
   global $DB;
   $query = $DB->query("SELECT member_id FROM exp_members ORDER BY member_id DESC LIMIT 0, 1");
   if ($query->num_rows==1){
      echo $query->row['member_id'];
   }
?>




Theme © iAndrew 2016 - Forum software by © MyBB