This is a small function I wrote to handle queries on a table.
It can query a table, order and sort, and supports inner joins.

This function also returns the result as a single row or all rows.

Enjoy : 

<?php
  
/**
   * Selects Fields from a database/table.  
   * Also supports INNER JOINS, GROUP BY, ORDER BY.
   *
   * @Author : Jonathon Hibbard
   *
   * @param string $db_name         //Name of Database
   * @param string $table           //Name of Table
   * @param array $fields           //Field Names we want to select
   * @param array $inner            //Fields to be INNER JOINED
   * @param array $where            //WHERE fields.
   * @param string $group_by        //Field to group by.
   * @param string $order_by        //Field to order by
   * @param string $asc             //Asc or Desc order
   * @param string $return_array    //Defines $rst as an array or single row 
   * @return $rst                   //Returns the result
   *
   * @example : (1) getFields('mytool','master',
   *                          'array('master.master_id','master.fname_id'));
   *            (2) getFields('mytool','master',
   *                          'array('master.master_id','master.fname_id',
   *                          'fname.fname'), array(0=>array('mytool',
   *                          'fname','master','fname_id',)),
   *                          'master.default_value <> "", false);
   *            (3) getFields('mytool','master','master.master_id',NULL,
   *                          'master.fname_id = "3",NULL,NULL,NULL,false);
   */
  
function getFields($db_name=NULL,$table=NULL,$fields=NULL,$inner=NULL
                     
$where=NULL,$group_by=NULL,$order_by=NULL,$asc=NULL
                     
$return_array=true) {
    
$C_NAME __CLASS__."::".__FUNCTION__;
    
$sql "SELECT ";
    
is_array($fields) ? $sql .= implode(',',$fields) : $sql .= $fields;
    
$sql .= " FROM ".$db_name.".".$table;
    if(!empty(
$inner)) {
      
$total_inners count($inner);
      for(
$i=0$i<$total_inners$i++)
        
$sql .= " INNER JOIN ".$inner[$i][0].".".$inner[$i][1].
                  ON "
.$inner[$i][1].".".$inner[$i][2]." = 
                     "
.$inner[$i][3].".".$inner[$i][2];
    }
    if(!empty(
$where)) {
      
is_array($where) ? $sql .= " WHERE ".implode(' AND ',$where)
                       : die(
"Fatal Error : Variable must be an array.  
                         Variable type is : "
.gettype($where));
    }
    !empty(
$group_by) ? $sql .= " GROUP BY ".$group_by '';
    !empty(
$order_by) ? $sql .= " ORDER BY ".$order_by '';
    !empty(
$asc)      ? $sql .= " ".$asc '';
    
$sql .= " # Query resides in ".__FILE__."->".$C_NAME."
                on line "
.__LINE__;
    if(
$return_array === true) {
      
$rst mysql_query($sql)
             or die(
"An Error Has Occurred!
                  \n MySQL Error Reports : "
.mysql_error()."
                  \n The Error Occured in "
.__FILE__." -> ".$C_NAME);
      
$i=0;
      while(
$row mysql_fetch_assoc($rst)) {
        
$rowRst[] = $row[$fields[$i]];
        
$i++;
      }
    } else {
      
$rst mysql_query($sql)
             or die(
"An Error Has Occurred! 
                  \n MySQL Error Reports : "
.mysql_error().
                  \n The Error Occured in "
.__FILE__." -> ".$C_NAME);
      
$rowRst mysql_fetch_assoc($rst);
    }
    return 
$rowRst;
  }
?>