Tabellen Informationen

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

  • Tabellen Informationen

    Hey Ihr,

    Ich möchte per PHP-Script folgende Informationen auslesen.

    1) Ist die Tabelle mit dem Namen 'test' vorhanden?
    2) Ist die Spalte mit dem Name 'feld1' vorhanden?
    3) Ist die Spalte 'feld1' von folgenden Typ 'varchar(30)'?

    Ich bräuchte das als Code-Schnippsel, in Form von:

    Code:
    $res = mysql_query("???");
    Wie kann ich in einen Install-Script eine Fehlerabfrage einbauen um nach jeden erstellen einer Tabelle, zu prüfen, ob ein Fehler vorliegt oder nicht. Wenn ein Fehler vorliegt, soll das Script abbrechen. Das gleich gilt für das Eintragen von Daten mit dem Install-Script.

    Ich weiß, das sind mal wieder viele Fragen, aber ich komme mal wieder nicht weiter oder aber ich hab mal wieder *einbrettvormkopf*
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

  • #2
    $result=mysql_query("SHOW fields FROM tabelle");
    Wenn es einen Fehler gibt, gibt es die Tabelle nicht.

    Das Ergebnis gibt für jedes Feld Name, Typ, Null, Key und Extras an.


    Dann gibts noch SHOW TABLES FROM DATABASE, das listet dir alle Tabellen auf, damit kannst du auch überprüfen, ob es eine Tabelle gibt.
    Zuletzt geändert von Troublegum; 10.04.2002, 13:58.
    [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
    [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
    [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

    © Harald Schmidt

    Kommentar


    • #3
      Also folgendes geht nicht:
      PHP-Code:
      $res mysql_query("SHOW TABLES IN shop_artikel");
          echo 
      "$res"
      Gibt nur eine leere Seite aus.
      *winks*
      Gilbert
      ------------------------------------------------
      Hilfe für eine Vielzahl von Problemen!!!
      http://www.1st-rootserver.de/

      Kommentar


      • #4
        Sorry, SHOW TABLES FROM DATABASE
        [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
        [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
        [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

        © Harald Schmidt

        Kommentar


        • #5
          das gibt folgende Ausgabe:
          PHP-Code:
          $res mysql_query("SHOW TABLES FROM 'php-shop'")
          or die(
          mysql_error());
              echo 
          $res
          Fehler in der Syntax bei ''php-shop'' in Zeile 1.

          Also die Datenbank heißt:
          php-shop

          und in dieser Datenbank sind folgende Tabellen:
          shop_artikel
          shop_korb
          shop_rubrik

          Aber er zeigt mir nichts an. Wieso?
          Zuletzt geändert von Wotan; 10.04.2002, 14:04.
          *winks*
          Gilbert
          ------------------------------------------------
          Hilfe für eine Vielzahl von Problemen!!!
          http://www.1st-rootserver.de/

          Kommentar


          • #6
            Hab ich gesagt: SHOW TABLES FROM 'DATABASE' ?
            Nein.

            Code:
            SHOW TABLES FROM DATABASE
            [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
            [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
            [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

            © Harald Schmidt

            Kommentar


            • #7
              PHP-Code:
              $res mysql_query("SHOW TABLES FROM php-shop")
              or die(
              mysql_error()); 
              dann kommt folgende Fehlermeldung

              Fehler in der Syntax bei '-shop' in Zeile 1.
              *winks*
              Gilbert
              ------------------------------------------------
              Hilfe für eine Vielzahl von Problemen!!!
              http://www.1st-rootserver.de/

              Kommentar


              • #8
                Das geht mit meiner SQL Frontend auch net.

                Probiers mal mit Accent grave ( ` )
                Code:
                SHOW TABLES FROM `php-shop`
                [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
                [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
                [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

                © Harald Schmidt

                Kommentar


                • #9
                  Original geschrieben von Wotan
                  das gibt folgende Ausgabe:
                  PHP-Code:
                  $res mysql_query("SHOW TABLES FROM 'php-shop'")
                  or die(
                  mysql_error());
                      echo 
                  $res
                  Fehler in der Syntax bei ''php-shop'' in Zeile 1.

                  Dann sind wir wieder hier angekommen.
                  *winks*
                  Gilbert
                  ------------------------------------------------
                  Hilfe für eine Vielzahl von Problemen!!!
                  http://www.1st-rootserver.de/

                  Kommentar


                  • #10
                    Nein, sind wir nicht!
                    Les doch mal gescheit !!

                    Ich sagte, probier es mal mit Accent grave. So gehts bei meiner Frontend. PHPmyadmin machts auch so...

                    Code:
                    SHOW TABLES FROM `php-shop`
                    [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
                    [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
                    [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

                    © Harald Schmidt

                    Kommentar


                    • #11
                      Original geschrieben von Troublegum
                      Accent grave
                      Was ist das?
                      *winks*
                      Gilbert
                      ------------------------------------------------
                      Hilfe für eine Vielzahl von Problemen!!!
                      http://www.1st-rootserver.de/

                      Kommentar


                      • #12
                        na die Zeichen, die Troublegum in seinem letzten Posting benutzt. Du kannst auf deiner Tastatur mit SHIFT+`(Taste neben ? und ß) die erzeugen. Im Zusammenspiel mit einem a, e oder o wird daraus halt ein Accent grave -> kommt aus dem französischen -> deshalb mußt du nach der Tastenkombination SHIFT+`auch noch eine weiter Taste benutzen, damit der Accent ausgegeben wird.

                        Kommentar


                        • #13
                          Gut das hat geklappt.

                          Aber jetzt bekomme ich folgende Ausgabe:

                          Resource id #2

                          Was bedeutet die Ausgabe?

                          Habe jetzt mein Script so geändert:
                          PHP-Code:
                          $res mysql_query("SHOW TABLES FROM `php-shop`")
                          or die(
                          mysql_error());
                          while (
                          $row mysql_fetch_array($res))
                              {
                              echo 
                          "$row[0]<br>";
                              } 
                          Jetzt bekomme ich auch die Spaltenname ausgegeben.
                          Aber wie kann ich besser daraufzugreifen, statt mit $row[0]?
                          Zuletzt geändert von Wotan; 10.04.2002, 15:06.
                          *winks*
                          Gilbert
                          ------------------------------------------------
                          Hilfe für eine Vielzahl von Problemen!!!
                          http://www.1st-rootserver.de/

                          Kommentar


                          • #14
                            du bekommst ja ein Resultset zurück, welches wie oben von Troublegum beschrieben einige Felder beinhaltet -> und die heissen ganz zufällig:

                            Field Type Null Key Default Extra

                            d.h. du kannst mittels $row['Field'] und $row['Type'] den Feldnamen und Feldtyp in deiner while-Schleife ausgeben lassen.

                            Kommentar


                            • #15
                              Gut, wenn ich mir jetzt die Spalten ausgeben lasse, klappt das auch.

                              Aber ich bekomme damit nicht die Spalten.

                              hier mal mein Script:
                              PHP-Code:
                              echo "Abfrage der Tabbellen in der Datenbank<br>";

                              $res mysql_query("SHOW TABLES FROM `php-shop`")
                              or die(
                              mysql_error());
                              while (
                              $row mysql_fetch_array($res))
                                  {
                              // Um diese Stelle dreht sich meine Frage. 
                              //Hier brauch ich was anderes als der 0
                                  
                              echo "$row[0]<br>";
                                  }
                              echo 
                              "<hr>";
                              echo 
                              "Abfrage der Spalten in der Tabelle der Datenbanken<br>";
                              $res mysql_query("SHOW COLUMNS FROM `shop_artikel`")
                              or die(
                              mysql_error());
                              while (
                              $row mysql_fetch_array($res))
                                  {
                              // Hier klappt es ja mit Field und Type
                                  
                              echo "$row[Field] $row[Type]<br>";
                                  }
                              echo 
                              "<hr>"
                              *winks*
                              Gilbert
                              ------------------------------------------------
                              Hilfe für eine Vielzahl von Problemen!!!
                              http://www.1st-rootserver.de/

                              Kommentar

                              Lädt...
                              X