/** * Open a connection to db */ public function connect() { $this->conn = ifx_connect($this->dbname . "@" . $this->host, $this->user, $this->pwd); if (!$this->conn) { trigger_error(ifx_errormsg(), E_USER_ERROR); } ifx_blobinfile_mode(0); ifx_textasvarchar(1); ifx_byteasvarchar(1); return $this->conn; }
function ADODB_informix72() { // alternatively, use older method: //putenv("DBDATE=Y4MD-"); // force ISO date format putenv('GL_DATE=%Y-%m-%d'); if (function_exists('ifx_byteasvarchar')) { ifx_byteasvarchar(1); // Mode "0" will return a blob id, and mode "1" will return a varchar with text content. ifx_textasvarchar(1); // Mode "0" will return a blob id, and mode "1" will return a varchar with text content. ifx_blobinfile_mode(0); // Mode "0" means save Byte-Blobs in memory, and mode "1" means save Byte-Blobs in a file. } }
function DoQuery($query, $first = 0, $limit = 0, $free_non_select_result = 1, $prepared_query = 0) { ifx_nullformat(1); ifx_blobinfile_mode(0); $query = ltrim($query); if (GetType($space = strpos($query, " ")) != "integer") { $space = strlen($query); } $query_type = strtolower(substr($query, 0, $space)); if (($select = $query_type == "select") && $limit > 0) { $query = substr($query, 0, $space) . " FIRST " . ($first + $limit) . " " . substr($query, strlen("select")); $cursor_type = $first ? IFX_SCROLL : 0; } else { $cursor_type = 0; } if ($prepared_query && isset($this->query_parameters[$prepared_query]) && count($this->query_parameters[$prepared_query])) { $result = $cursor_type ? @ifx_query($query, $this->connection, $cursor_type, $this->query_parameters[$prepared_query]) : @ifx_query($query, $this->connection, $this->query_parameters[$prepared_query]); } else { $result = $cursor_type ? @ifx_query($query, $this->connection, $cursor_type) : @ifx_query($query, $this->connection); } if ($result) { $result_value = intval($result); switch ($query_type) { case "select": $this->current_row[$result_value] = -1; if ($limit > 0) { $this->limits[$result_value] = array($first, $limit, 0); } $this->highest_fetched_row[$result_value] = -1; break; case "commit": case "rollback": case "begin": case "database": ifx_free_result($result); break; default: $this->affected_rows = ifx_affected_rows($result); if ($free_non_select_result) { ifx_free_result($result); } break; } } else { $this->SetIFXError("Do query", "Could not query Informix database"); } return $result; }