[php/sql] Feldnamen auslesen

tucow

*****
20 April 2006
41
0
Hallo zusammen,

gibt es eine Möglichkeit die Feldnamen einer Tabelle auszulesen?
Ich bin gerade dabei für eine Intranet Anwendung eine dynamische Suche zu erstellen und möchte ungern massig if/elseif Schleifen verwenden.



Gruß,
Andreas
 
Hallo,

ich benutze Oracle, kein MySQL. Deshalb habe ich im Titel die Angabe auch recht neutral gehalten und nur SQL geschrieben.
Gibt es keine SQL Funktion dafür?
 
ich benutze Oracle, kein MySQL. [...]Gibt es keine SQL Funktion dafür?
Die MySQL-Anweisung wäre:
Code:
[FONT=Courier New][B][COLOR=#9932cc]SHOW[/COLOR][/B] [COLOR=DarkOrchid][B]COLUMNS[/B][/COLOR] [B][COLOR=#9932cc]FROM[/COLOR][/B] `table`[/FONT]
Ob das in Oracle funktioniert, glaub ich eher weniger.

Mit PHP gehts laut Manual mit
ora_columnname()
 
Ahh danke, das hat mich auf die richtige Spur gebracht, ich benötige oci_field_name() und oci_num_fields().

Ist es möglich bei der WHERE Klausel eine Wildcard zu benutzen wie *?
Á la: "SELECT * FROM $table WHERE * = '1'"
 
Ist es möglich bei der WHERE Klausel eine Wildcard zu benutzen wie *?
Á la: "SELECT * FROM $table WHERE * = '1'"
Ich würde mal sagen, wenns in MySQL ned geht, gehts im allgemeinen SQL auch ned.

Wenn du ein beliebiges Feld haben willst, musst du alle Felder verodern:
Code:
[FONT=Courier New][B][COLOR=#9932cc]SELECT[/COLOR][/B] * [B][COLOR=#9932cc]FROM[/COLOR][/B] [COLOR=Black]table[/COLOR] [B][COLOR=#9932cc]WHERE[/COLOR][/B] field1=1 [B][COLOR=#9932cc]OR[/COLOR][/B] field2=1 [B][COLOR=#9932cc]OR[/COLOR][/B] field3=1[/FONT]
 
Hallo,

ich benutze Oracle, kein MySQL. Deshalb habe ich im Titel die Angabe auch recht neutral gehalten und nur SQL geschrieben.
Gibt es keine SQL Funktion dafür?

achso... dann schreib das auch. sql ist weit reichend und nicht jedes dbms hält sich an die standards. (hab nur sql gelesen und das heißt hier eigentlich immer mysql) bei orcale kannste das ganze über das informaiton_schema auslesen... da gibts ne ansicht die nennt sich columns. zb könnte dass dann so ausschauen:
PHP:
SELECT 
  COLUMN_NAME 
FROM 
  INFORMATION_SCHEMA.COLUMNS 
WHERE 
  TABLE_SCHEMA = 'datenbank'
  TABLE_NAME = 'tabelle'

das entsrpicht übrigens ansi 92... also kannste das auch unter postgre, mssql, und mysql (ab version 5) machen und anderen...