PHP Doku:: Gibt den Namen eines Feldes zurück - function.sqlite-field-name.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenSQLiteSQLite Funktionensqlite_field_name -- SQLiteResult->fieldName -- SQLiteUnbuffered->fieldName

Ein Service von Reinhard Neidl - Webprogrammierung.

SQLite Funktionen

<<sqlite_fetch_string

sqlite_has_more>>

sqlite_field_name

SQLiteResult->fieldName

SQLiteUnbuffered->fieldName

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_field_name -- SQLiteResult->fieldName -- SQLiteUnbuffered->fieldNameGibt den Namen eines Feldes zurück

Beschreibung

string sqlite_field_name ( resource $result , int $field_index )

Objektorientierter Stil (Methode):

string SQLiteResult::fieldName ( int $field_index )
string SQLiteUnbuffered::fieldName ( int $field_index )

Übergibt man die Ordnungszahl einer Spalte field_index, wird sqlite_field_name() den Namen des Feldes im Abfrageergebnis result zurückgegeben.

Parameter-Liste

result

Die SQLite-Ergebnisressource. Dieser Parameter wird in der objektorientierten Notation nicht benötigt.

field_index

Die Ordnungszahl der Spalte im Abfrageergebnis.

Rückgabewerte

Liefert den Namen eines Feldes in einem SOLite-Ergebnis, identifiziert bei der Ordnungszahl einer Spalte; 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.


2 BenutzerBeiträge:
- Beiträge aktualisieren...
admin at psychonautical dot org
10.11.2010 8:58
It's not the most elegant way, but it works:

<?php
function sqlite_field_names($db, $tablename){
   
$sq5=sqlite_single_query($db, "SELECT sql FROM sqlite_master WHERE tbl_name='".$tablename."'", SQLITE_NUM);
   
$kommando=$sq5[0];
   
$cut=strtok($kommando,"(");
    while(
$fieldnames[]=strtok(",")) {};
   
array_pop($fieldnames);
    foreach(
$fieldnames as $no => $field)
        if (
strpos($field, "PRIMARY KEY")){
           
strtok($field,"(");
           
$primary=strtok(")");
            unset(
$fieldnames[$no]);
        } else
           
$fieldnames[$no]=strtok($field, " ");
    return
$fieldnames;
}
?>
rrf5000 at psu dot edu
22.06.2007 10:03
While working with SQLite using its object-oriented mode, I found need to display a column/field name without knowing what it was in advance.  I couldn't find any examples on the Internet, just this document.  So, for anyone who happens to need to do this, here's an example.

<?php

$db
= "db/database.sqlite";

// create new database (OO interface)
$dbo = new SQLiteDatabase("$db");

// create table foo and insert sample data
$dbo->query("
 CREATE TABLE foo(id INTEGER PRIMARY KEY, name CHAR(255));
 INSERT INTO foo (name) VALUES('Ilia1');
 INSERT INTO foo (name) VALUES('Ilia2');
 INSERT INTO foo (name) VALUES('Ilia3');
"
);

$query = "SELECT * FROM foo;";

$result = $dbo->query($query) or die("Error in query");

echo
"
<table border='1' cellpadding='10'>
 <tr>
  <td>"
.$result->fieldName(0)."</td>
  <td>"
.$result->fieldName(1)."</td>
 </tr>"
;

// iterate through the retrieved rows
while ($result->valid()) {
 
// fetch current row
 
$row = $result->current();
  echo
"
 <tr>
  <td>"
.$row[0]."</td>
  <td>"
.$row[1]."</td>
 </tr>"
;
 
// proceed to next row
 
$result->next();
}

echo
"</table>";

?>



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",...)