Subversion-Projekte lars-tiefland.ci

Revision

Revision 2049 | Revision 2242 | Zur aktuellen Revision | Ganze Datei anzeigen | Leerzeichen ignorieren | Details | Blame | Letzte Änderung | Log anzeigen | RSS feed

Revision 2049 Revision 2107
Zeile 110... Zeile 110...
110
		$field_data = $this->result_id->fetch_fields();
110
		$field_data = $this->result_id->fetch_fields();
111
		for ($i = 0, $c = count($field_data); $i < $c; $i++)
111
		for ($i = 0, $c = count($field_data); $i < $c; $i++)
112
		{
112
		{
113
			$retval[$i]			= new stdClass();
113
			$retval[$i]			= new stdClass();
114
			$retval[$i]->name		= $field_data[$i]->name;
114
			$retval[$i]->name		= $field_data[$i]->name;
115
			$retval[$i]->type		= $field_data[$i]->type;
115
			$retval[$i]->type		= static::_get_field_type($field_data[$i]->type);
116
			$retval[$i]->max_length		= $field_data[$i]->max_length;
116
			$retval[$i]->max_length		= $field_data[$i]->max_length;
117
			$retval[$i]->primary_key	= (int) ($field_data[$i]->flags & 2);
117
			$retval[$i]->primary_key	= (int) ($field_data[$i]->flags & MYSQLI_PRI_KEY_FLAG);
118
			$retval[$i]->default		= $field_data[$i]->def;
118
			$retval[$i]->default		= $field_data[$i]->def;
119
		}
119
		}
Zeile 120... Zeile 120...
120
 
120
 
121
		return $retval;
121
		return $retval;
Zeile 122... Zeile 122...
122
	}
122
	}
Zeile 123... Zeile 123...
123
 
123
 
-
 
124
	// --------------------------------------------------------------------
-
 
125
 
-
 
126
	/**
-
 
127
	 * Get field type
-
 
128
	 *
-
 
129
	 * Extracts field type info from the bitflags returned by
-
 
130
	 * mysqli_result::fetch_fields()
-
 
131
	 *
-
 
132
	 * @used-by	CI_DB_mysqli_result::field_data()
-
 
133
	 * @param	int	$flags
-
 
134
	 * @return	string
-
 
135
	 */
-
 
136
	private static function _get_field_type($flags)
-
 
137
	{
-
 
138
		static $map;
-
 
139
		isset($map) OR $map = array(
-
 
140
			MYSQLI_TYPE_DECIMAL     => 'decimal',
-
 
141
			MYSQLI_TYPE_BIT         => 'bit',
-
 
142
			MYSQLI_TYPE_TINY        => 'tinyint',
-
 
143
			MYSQLI_TYPE_SHORT       => 'smallint',
-
 
144
			MYSQLI_TYPE_INT24       => 'mediumint',
-
 
145
			MYSQLI_TYPE_LONG        => 'int',
-
 
146
			MYSQLI_TYPE_LONGLONG    => 'bigint',
-
 
147
			MYSQLI_TYPE_FLOAT       => 'float',
-
 
148
			MYSQLI_TYPE_DOUBLE      => 'double',
-
 
149
			MYSQLI_TYPE_TIMESTAMP   => 'timestamp',
-
 
150
			MYSQLI_TYPE_DATE        => 'date',
-
 
151
			MYSQLI_TYPE_TIME        => 'time',
-
 
152
			MYSQLI_TYPE_DATETIME    => 'datetime',
-
 
153
			MYSQLI_TYPE_YEAR        => 'year',
-
 
154
			MYSQLI_TYPE_NEWDATE     => 'date',
-
 
155
			MYSQLI_TYPE_INTERVAL    => 'interval',
-
 
156
			MYSQLI_TYPE_ENUM        => 'enum',
-
 
157
			MYSQLI_TYPE_SET         => 'set',
-
 
158
			MYSQLI_TYPE_TINY_BLOB   => 'tinyblob',
-
 
159
			MYSQLI_TYPE_MEDIUM_BLOB => 'mediumblob',
-
 
160
			MYSQLI_TYPE_BLOB        => 'blob',
-
 
161
			MYSQLI_TYPE_LONG_BLOB   => 'longblob',
-
 
162
			MYSQLI_TYPE_STRING      => 'char',
-
 
163
			MYSQLI_TYPE_VAR_STRING  => 'varchar',
-
 
164
			MYSQLI_TYPE_GEOMETRY    => 'geometry'
-
 
165
		);
-
 
166
 
-
 
167
		foreach ($map as $flag => $name)
-
 
168
		{
-
 
169
			if ($flags & $flag)
-
 
170
			{
-
 
171
				return $name;
-
 
172
			}
-
 
173
		}
-
 
174
 
-
 
175
		return $flags;
-
 
176
	}
-
 
177
 
124
	// --------------------------------------------------------------------
178
	// --------------------------------------------------------------------
125
 
179
 
126
	/**
180
	/**
127
	 * Free the result
181
	 * Free the result
128
	 *
182
	 *