PHP Doku:: Liefert ein Array mit den Spaltentypen einer bestimmten Tabelle - function.sqlite-fetch-column-types.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenSQLiteSQLite Funktionensqlite_fetch_column_types -- SQLiteDatabase->fetchColumnTypes

Ein Service von Reinhard Neidl - Webprogrammierung.

SQLite Funktionen

<<sqlite_fetch_array -- SQLiteResult->fetch -- SQLiteUnbuffered->fetch

sqlite_fetch_object -- SQLiteResult->fetchObject -- SQLiteUnbuffered->fetchObject>>

sqlite_fetch_column_types

SQLiteDatabase->fetchColumnTypes

(PHP 5)

sqlite_fetch_column_types -- SQLiteDatabase->fetchColumnTypes Liefert ein Array mit den Spaltentypen einer bestimmten Tabelle

Beschreibung

array sqlite_fetch_column_types ( string $table_name , resource $dbhandle [, int $result_type ] )

Objektorientierter Stil (Methode):

array SQLiteDatabase::fetchColumnTypes ( string $table_name [, int $result_type ] )

sqlite_fetch_column_types() liefert ein Array mit den Datentypen aller Spalten in der angegebenen Tabelle table_name.

Parameter-Liste

table_name

Der abzufragende Tabellenname.

dbhandle

Die Ressource der SQLite-Datenbank, die bei prozeduraler Benutzung von sqlite_open() zurückgegeben wurden. Der Parameter wird bei der objektorientierten Notation nicht benötigt.

result_type

Der optionale Parameter result_type akzeptiert eine Konstante und bestimmt, wie das Rückgabearray indiziert wird. Mit SQLITE_ASSOC werden nur assoziative Indices (Namensfelder) und mit SQLITE_NUM werden nur numerische Indices (geordnete Feldnummern) gesetzt. SQLITE_BOTH liefert sowohl assoziative als auch numerische Indices. SQLITE_ASSOC ist Standard.

Rückgabewerte

Liefert ein Array der Datentypen aller Spalten oder FALSE im Fehlerfall.

Die Groß- und Kleinschreibung der Spaltennamen, die von SQLITE_ASSOC und SQLITE_BOTH zurückgegeben werden, wird entsprechend der Konfigurationsdirektive sqlite.assoc_case geändert.

Changelog

Version Beschreibung
5.1.0 result_type hinzugefügt

Beispiele

Beispiel #1 Prozedurales Beispiel

<?php
$db 
sqlite_open('mysqlitedb');
sqlite_query($db'CREATE TABLE foo (bar varchar(10), arf text)');
$cols sqlite_fetch_column_types('foo'$dbSQLITE_ASSOC);

foreach (
$cols as $column => $type) {
    echo 
"Spalte: $column  Typ: $type";
}
?>

Beispiel #2 Objektorientiertes Beispiel

<?php
$db 
= new SQLiteDatabase('mysqlitedb');
$db->query('CREATE TABLE foo (bar varchar(10), arf text)');
$cols $db->fetchColumnTypes('foo'SQLITE_ASSOC);

foreach (
$cols as $column => $type) {
    echo 
"Spalte: $column  Typ: $type";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Spalte: bar  Typ: VARCHAR
Spalte: arf  Typ: TEXT


3 BenutzerBeiträge:
- Beiträge aktualisieren...
enthusiast
6.03.2005 17:19
If I (OO version) try to add the contant SQLITE_ASSOC, (exactly as listed in the above example) it generates the following error:

SQLiteDatabase::fetchColumnTypes() expects exactly 1 parameter, 2 given in C:\....

If I remove it completely, it returns the associative array I expected.

10.01.2005 12:01
The problem with the permanently locked database file when using this function still seems to exist in PHP 5.0.3 (tested on win32).

However, you can get all the information you need about the fields of a table by using this query:

PRAGMA table_info(name_of_your_table);
hugo_pl at users dot sourceforge dot net
18.08.2004 6:55
This function, and the OO version, is bugged in PHP <= 5.0.1, locking the database until you restart the webserver.

http://bugs.php.net/bug.php?id=29476



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)