kostenloser Webspace werbefrei: lima-city


mysql, existiert die Spalte?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    munich

    munich hat kostenlosen Webspace.

    Hey Leute,
    hab schon die Archive durchstöbertund leider nichts dazu gefunden.
    Also, ich will ein paar Tabellen durchsuchen und schaun, ob in der Spalte A der Wert B steht. Das Problem ist: Nicht alle Tabellen, die ich durchsuche haben die Spalte A.

    Jetzt bekomm ich die Fehlermeldung:
    Unknown column \'shorttitle\' in \'field list\'

    Deshalb bräucht ich ne Funktion, die mir sagt, ob eine Tabelle eine Spalte namens A hat.
    Hoffe ihr könnt mir da weiterhelfen!
    thx a lot,
    munich
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Bei jeder Datenbank (mysql, postgres, ...) existieren sogenannte Schemata. Diese Schemata geben an, wie die Datenbanken bzw. Tabellen in sich aufgebaut sind.

    Bei mysql brauchst du dazu Zugriff auf die Datenbank \"information_schema\".

    Dort könntest du zum Bsp. mit dem SQL Befehl die Spaltennamen für eine beliebige Tabelle auslesen.
    SELECT * FROM `COLUMNS` WHERE table_name = \'tabellenname\';


    Hier bei Lima geht das meineransicht nach nicht! Dazu benötigt man meist Root Rechte.

    Grüßle
  4. Mithilfe von PHP könnte man die funktion mysql_fetch_assoc() dafür missbrauchen.

    <?php
    function check_spalte($tabelle,$spaltenname){
    
    $spalten=mysql_query(\'SELECT * FROM \'.$tabelle.\' LIMIT 1\');
    if($spalte=mysql_fetch_assoc($spalten))
    {
    if(isset($spalte[spaltenname]))
     {
     return true;
     }
    else
     {
     return false;
     }
    }
    else
     {
     die(\"Query ist fehlerhaft<br />Umbedingt berichtigen! \");
     }
    
    }
    ?>


    Die definierte Funktion check_spalte(string tabelle, string spaltenname) sollte dir true zurückgeben, wenn die Spalte vorhanden ist, andernfalls false. Falls das Query nicht richtig formuliert ist, wird das Programm abgebrochen, da dies einem schweren Fehler entsprechen würde.

    Ich hab den Code nicht getestet! Aber prinzipiell müsste er so laufen.

    edit: Lima hat einige Backslashes reingemacht. Am besten du zitierst mein Posts und entfernst alle Baskslashes. Dann hast du den Originalcode.

    Beitrag geändert: 24.9.2007 19:57:07 von bladehunter
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!