/** * 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; }