Prüfung einer existierenden Spalte

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Prüfung einer existierenden Spalte

    Hi Leute,

    ich habe ein Programm auf PHP/MySQL Basis geschrieben. Dieses Programm hat auch eine Installationsroutine. Bei der Installation wird in der Tabelle "info" die Spalte "previous_installation" erstellt und "1" eingetragen. Wird nun die Installation noch einmal ausgeführt, soll geprüft werden, ob dieser Wert "1" in der Tabelle steht oder nicht.

    Führt man die Routine allerdings zum ersten Mal aus, existiert ja noch keine Tabelle "info", d.h. es kann auch nichts geprüft werden. Nun bekomme ich den Fehler: Unknown column 'previous_installation' in 'field list'

    Kann ich das irgendwie umgehen?

    PHP-Code:
    if ($previous_installation != '1') {
        
    header("Location:install_step1.php");
    } else {
    ....
    meine Seite 
    Vielen Dank für eure Hilfe!

    Grüße Lukas

  • #2
    Hi Leute,

    habe mir mittlerweile schon einen Weg gefunden, wie man das Problem lösen könnte. Für alle, die möglicherweise ähnliche Probleme haben:

    PHP-Code:

    // $db_name_mysql enthält den Datenbanknamen

    $tables = array(
    "hier alle Tabellennamen aufführen",
    "hier alle Tabellennamen aufführen",
    "hier alle Tabellennamen aufführen"
    );


    $result_check mysql_list_tables ($db_name_mysql);
        for(
    $i 0$i mysql_num_rows ($result_check); $i++) {
            if(
    in_array(mysql_tablename($result_check$i),$tables)) {
                
    $check 1;
                break;
            }
        }

    if(!isset(
    $check)) {
        
    header("Location: install_step1.php");
    } else {
        echo 
    "Es ist bereits eine Installation vorhanden";

    Greetz, Lukas

    Kommentar


    • #3
      vorbildlich

      Kommentar


      • #4
        mal was anderes: was macht denn deine installationsroutine, dass nur einmal passieren darf?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          @graf

          Danke, aber ich will mich nicht mit fremden Federn schmücken. Ich habe mir das Skript aus einer Board-Software gesucht und so umgebaut, dass es bei mir funktioniert, jedoch nicht 1:1 kopiert, da es ja an meine Bedürfnisse angepasst werden musste .

          @mrhappiness

          Ich habe eine Intranet-Software für die Firma meines Vaters gemacht. Im Großen und Ganzen eine Verwaltungs-Anwendung für Informationen, die die Firma betreffen. Dafür habe ich außerdem ein CMS gebaut, das die komplette Verwaltung von Menüs, Benutzern und Seiten ermöglicht.
          Da recht viele Tabellen vorhanden sind, dachte ich mir, dass ich mich ja mal an einer Installationsroutine versuchen könnte. Aber wenn man schon mal die Software installiert und alles eingerichtet hat, könnte es ja aus Versehen passieren, dass der Admin nicht die install.php löscht und sie nochmal ausführt. Dann wären alle Einstellungen beim Teufel .

          Das ist der wahre Grund ;-)

          Greetz Lukas

          Kommentar


          • #6
            dann musst du dir bei updates aber was einfallen lassen oder?

            deine einstellungen werden ja wahrscheinlich nen primärschlüssel haben oder?

            dann mach in deinem installationsskript einfach
            Code:
            CREATE TABLE IF NOT EXISTS ...
            
            INSERT IGNORE INTO tabelle 
            VALUES(primärschlüsselspalte, weitere spalten)
            VALUES (primärschlüsselid, weitere werte)
            das sollte auch gehen
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar

            Lädt...
            X