Spaltenname prüfen

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

  • Spaltenname prüfen

    Tag Gemeinde,

    meine Aufgabe:
    Prüfen ob alle ZEILEN der 1. Tabelle auch SPALTEN der 2. Tabelle sind.

    function admin_proof_tables()
    {
    $result_admintableproof = mysql_query("SELECT * FROM Tabelle1");
    while ($row = mysql_fetch_row($result_admintableproof))
    {
    $spaltenname = $row[1];
    $result_table = mysql_query("SELECT $spaltenname FROM Tabelle2");
    $fields = mysql_num_fields ($result_table);
    }
    }

    Problem:
    $fields enthält zwar den Wert "1", wenn der Spaltenname vorhanden ist und ist LEER, wenn nicht, ABER
    es kommt zusätzlich ein Fehler
    "Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in ..." wenn der Spaltenname nicht gefunden wurde.

    Frage:
    Gibt es eine Möglichkeit diese Fehlermeldung zu unterdrücken (NUR in der Funktion, nicht generell)?
    Oder gibt es eine bessere Möglichkeit zu Prüfen, ob alle Zeilen einer Tabelle Spalten einer 2.Tabelle sind?

    Danke !!

  • #2
    du könntest mit DESC tabelle2 arbeiten, dir damit die spaltennamen holen und dann die zeilen der ersten tabelle durchgehen
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      das problem ist, dass der Fehler darin liegen kann,
      dass es mehr Zeilen als Spalten gibt. Wenn es eine Zeile gibt, aber die Spalte nicht, muss diese angelegt werden.

      Dein Beispiel funktioniert dann nicht mehr, weil es 1 + X Zeilen mehr geben kann.

      Kommentar


      • #4
        nein
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          du kannst z.B. per SHOW COLUMNS FROM Tabelle2 die Spaltennamen in ein Array holen. Per select liest du die Info aus Tabelle1 und vergleiche die Arrays z.B. per array_diff (oder array_diff_assoc).

          Kommentar


          • #6
            geht es nur 1% genauer?

            Kommentar


            • #7
              Original geschrieben von brainbux
              geht es nur 1% genauer?
              .......

              SHOW COLUMNS
              array_diff

              Kommentar


              • #8
                asp2php, du warst doch nicht gemeint. Danke Dir für den Hinweis ....

                Kommentar

                Lädt...
                X