Tom: Prüfung ob eine Spalte in MySQL Tabelle vorhanden ist

Beitrag lesen

Hello,

hab ein Problem. Ich will, dass PHP auswertet, ob eine Spalte mit dem Namen name_spalt vorhanden ist. Ich habe überhaupt keinen Ansatz, welche Rückmeldung ich ausnutzen muss. Kann mir jemand helfen?

Erstmal kannst Du das vorher abfragen:

SHOW COLUMNS from $tablename

liefert Dir ein Resultset mit den Spalten

- Field
  - Type
  - Null
  - Key
  - Default
  - Extra

Du willst nun wissen, ob in der Spalte "Field" dein gesuchter Feldname steht.

Dazu musst Du dann nur in üblicher Weise das Resultset auslesen

$_tablespecs = array();   ## alle Properties aller Felder der Tabelle
  $_record = array();       ## Zwischenpuffer für die Abfrage

while($_record = mysql_fetch_assoc($res))
  {
      $_tablespecs[$_record['Field']] = $_record;
  }

Nun brauchst Du nur noch nachzufragen, ob der Schlüsselwert vorhanden ist

if (isset($_tablespecs[$feldname]))
  {
      ## Feld ist vorhanden
  }

Liebe Grüße

Tom vom Berg

--
Nur selber lernen macht schlau