}
private function fetch_next() {
- if ($row = mssql_fetch_assoc($this->rsrc)) {
- $row = array_change_key_case($row, CASE_LOWER);
+ if (!$this->rsrc) {
+ return false;
}
+ if (!$row = mssql_fetch_assoc($this->rsrc)) {
+ mssql_free_result($this->rsrc);
+ $this->rsrc = null;
+ return false;
+ }
+
+ $row = array_change_key_case($row, CASE_LOWER);
return $row;
}
}
private function fetch_next() {
- if ($row = $this->result->fetch_assoc()) {
- $row = array_change_key_case($row, CASE_LOWER);
+ if (!$this->result) {
+ return false;
}
+ if (!$row = $this->result->fetch_assoc()) {
+ $this->result->close();
+ $this->result = null;
+ return false;
+ }
+
+ $row = array_change_key_case($row, CASE_LOWER);
return $row;
}
}
private function fetch_next() {
- if ($row = oci_fetch_array($this->stmt, OCI_ASSOC + OCI_RETURN_NULLS + OCI_RETURN_LOBS)) {
- $row = array_change_key_case($row, CASE_LOWER);
- unset($row['oracle_rownum']);
- array_walk($row, array('oci_native_moodle_database', 'onespace2empty'));
+ if (!$this->stmt) {
+ return false;
}
+ if (!$row = oci_fetch_array($this->stmt, OCI_ASSOC + OCI_RETURN_NULLS + OCI_RETURN_LOBS)) {
+ oci_free_statement($this->stmt);
+ $this->stmt = null;
+ return false;
+ }
+
+ $row = array_change_key_case($row, CASE_LOWER);
+ unset($row['oracle_rownum']);
+ array_walk($row, array('oci_native_moodle_database', 'onespace2empty'));
return $row;
}
}
private function fetch_next() {
- $row = pg_fetch_assoc($this->result);
+ if (!$this->result) {
+ return false;
+ }
+ if (!$row = pg_fetch_assoc($this->result)) {
+ pg_free_result($this->result);
+ $this->result = null;
+ return false;
+ }
if ($this->blobs) {
foreach ($this->blobs as $blob) {
}
private function fetch_next() {
- if ($row = sqlsrv_fetch_array($this->rsrc, SQLSRV_FETCH_ASSOC)) {
- unset($row['sqlsrvrownumber']);
- $row = array_change_key_case($row, CASE_LOWER);
+ if (!$this->rsrc) {
+ return false;
}
+ if (!$row = sqlsrv_fetch_array($this->rsrc, SQLSRV_FETCH_ASSOC)) {
+ sqlsrv_free_stmt($this->rsrc);
+ $this->rsrc = null;
+ return false;
+ }
+
+ unset($row['sqlsrvrownumber']);
+ $row = array_change_key_case($row, CASE_LOWER);
return $row;
}