/**
  * 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;
 }
Esempio n. 2
0
	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.
		}
	}
Esempio n. 3
0
 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;
 }