/**
  *  Gets the result based on an array of field and 
  *  value combinationds. Returns a row object.
  * 
  *   Implmentation:
  *     $tableRow = $obj->getRow(); //Retrieves all rows contained in a row Object
  *     foreach($tableRow as $row){
  *          foreach($row as $field => $value){
  *              echo $field ." => ". $value ."</br>";
  *          }
  *      }
  *  
  *   @param array[feild=>value]
  *   @return array(row) 
  */
 public function retrieveStrict($array)
 {
     if (!isset($array)) {
         // Needs to be changed if more parameters are added
         exit("ERROR: Missing a parameter");
     }
     if (!isset($this->tableName)) {
         exit("ERROR: Choose a table to preform operations on!");
     }
     //assert: Both parameters are null, or have a value.
     $queryString = "Select * FROM " . $this->tableName . " WHERE ";
     $whereClause = '';
     foreach ($array as $field => $value) {
         $whereClause .= "`{$field}` = '{$value}' AND ";
     }
     $whereClause = substr($whereClause, 0, -5);
     $queryString = $queryString . $whereClause;
     /*Execeute the query string*/
     $this->query = $queryString;
     if (!($result = parent::query($queryString))) {
         echo 'ERROR: ' . $this->error;
     }
     /*We have the result, now create the array of row objects*/
     $fields = $result->fetch_fields();
     $rowObj = new row();
     while ($row = $result->fetch_row()) {
         $rowArray = array();
         for ($i = 0; $i < count($row); $i++) {
             $rowArray[$fields[$i]->name] = $row[$i];
         }
         $rowObj->addItem($rowArray);
     }
     return $rowObj;
 }