public function fetchValue($query, $row_number = 0, $field = 0, $link = null)
{
$value = false;
$result = $this->tryQuery($query, $link, self::QUERY_STORE, false);
if ($result === false) {
return false;
}
// return false if result is empty or false
// or requested row is larger than rows in result
if ($this->numRows($result) < $row_number + 1) {
return $value;
}
// if $field is an integer use non associative mysql fetch function
if (is_int($field)) {
$fetch_function = 'fetchRow';
} else {
$fetch_function = 'fetchAssoc';
}
// get requested row
for ($i = 0; $i <= $row_number; $i++) {
$row = $this->{$fetch_function}($result);
}
$this->freeResult($result);
// return requested field
if (isset($row[$field])) {
$value = $row[$field];
}
return $value;
}