Hilfe kann keine Tabelle erstellen

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

  • Hilfe kann keine Tabelle erstellen

    Hallo erst mal.
    Ich beschäftige mich jetzt schon eine weile mit php und dachte ich müsste auch mal mit meiner Datenbank arbeiten,bastel nun ein kleines gb nur beim installieren der Tabelle gehts schon los Verbindung wird hergestellt alles schon und gut nur die Tabelle wird nicht erstellt
    also hab ich mal die Tabelle mit eine sql-dat. erstellt damit ging es dann aber Einträge reinschreib´n war auch nicht drin???
    Ich hab hier mal den code vom installieren ist in diesem schon ein Fehler Bitte um Hilfe...

    $sql="CREATE TABLE $tabellenname (
    name text NOT NULL,
    mail varchar(50) NOT NULL default '',
    eintrag text NOT NULL
    )";
    $db = mysql_connect ($server, $benutzer, $passwort)or die ("<p>Es konnte keine Verbindung zu der Datenbank erstellt werden.</p> ");
    mysql_select_db($db_name,$db)or die ("<p>Keine Verbindung. Bitte überprüfe den Datenbanknamen ".$db_name.".</p>");
    mysql_query ($sql,$db) or die ("<p> Die Tabelle ".$tabellenname." konnte nicht erstellt werden</p>");


    so was ist daran falsch????
    danke jetzt schon mal
    >> Gästebucherstellung <<
    Zuletzt geändert von schrottschuss; 26.01.2003, 19:23.
    Vornehm geht die Welt zugrunde

  • #2
    wenn ein feld NOT NULL ist muss auch ein default-wert gesetz werden.
    ich gehe jetzt auch mal davon aus, dass in $tabellenname was enthalten ist.

    PHP-Code:
    $sql="CREATE TABLE $tabellenname (
    name text NOT NULL default '',
    mail varchar(50) NOT NULL default '',
    eintrag text NOT NULL default ''
    )"

    ausserdem solltest du mal zum test mysql_error() verwenden
    damit kann man das erkennen, wo der fehler ist.

    PHP-Code:
    mysql_query ($sql,$db) or mysql_error(); 
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      hmm

      Danke erst mal für die Hilfe ich hab jetzt eine Tabelle erstellen können!!
      Ich habe statt:
      PHP-Code:
      mysql_query ($sql,$db) or die ("<p> Die Tabelle ".$tabellenname." konnte nicht erstellt werden</p>"); 
      das geschrieben:
      PHP-Code:
      mysql_query ($sql,$db) or mysql_error(); 
      und dann hat er die tabelle erstellt aber warum hat er sie nicht mit dem ersten befehl erstellt?????
      Nachtrag:
      Kann es am dem
      PHP-Code:
      or die 
      ich hab es nochmal mit dem ersten versucht nur ohne die und er hat sie dann auch erstellt ?????
      Zuletzt geändert von schrottschuss; 22.01.2003, 17:08.
      Vornehm geht die Welt zugrunde

      Kommentar


      • #4
        die heisst, dass er dann aufhören soll.
        theoretisch hätte er deine query aber machen sollen...

        kannst das ja mal mit

        ....or echo "dein text";

        probieren, ob er dann auch meckert....
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          PHP-Code:
          mysql_query ($sql,$db) or ("<p> Die Tabelle ".$tabellenname." konnte nicht erstellt werden</p>");echo "<p>Tabelle ".$tabellenname." erstellt</p>"
          hab jetzt so und er erstellt sie?so nun hab ich ja die tabelle und will eintrage reinschreiben aber das will auch nicht muss ich mit ID arbeiten???
          Zuletzt geändert von schrottschuss; 22.01.2003, 17:27.
          Vornehm geht die Welt zugrunde

          Kommentar


          • #6
            woran das jetzt liegt kann ich auch nciht sagen.

            solltest das aber so machen ...

            PHP-Code:
            mysql_query ($sql,$db) or echo ("<p> Die Tabelle ".$tabellenname." konnte nicht erstellt werden</p>"); 
            teste das mal auch noch so. also ohne VAR und mit die().

            PHP-Code:
            mysql_query ($sql,$db) or die ("<p> Die Tabelle HABE ICH WEGGELASSEN konnte nicht erstellt werden</p>"); 
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Bei deinem ersten cod bekommt man eine fehlermeldung
              Parse error: parse error in /home/www/mysqlgb/install1.php on line 12
              und bei deim 2.
              kommt die ->die ausgabe:
              Die Tabelle HABE ICH WEGGELASSEN konnte nicht erstellt werden
              Vornehm geht die Welt zugrunde

              Kommentar


              • #8
                lösche mal die tabelle und führe das 2. nochmal aus.

                ich habe nämlich den verdacht, dass das nur nicht geht, weil du im text ne VAR eingefügt hast.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  mit var meinst du bestimmt die variable ($tabellenname)!?
                  Gut hab die Tab noch mal gelöscht und dann nochmal 2. ausgeführt die Tab wurde dann erstellt!
                  Darf man in dieser funktion keine var verwenden??
                  Und noch mal zu denn einträgen muss ich mit einer id arbeiten den er sagt zwar daten gespeichert aber in der tab ist nix drin??
                  Vornehm geht die Welt zugrunde

                  Kommentar


                  • #10
                    ich denke mal , dass es an der VAR liegt. genau $tabellenname

                    der versuch hat ja genau das gezeigt.

                    wegen der id.

                    beim speichern brauchst du die nicht zwingen verwenden, wenn das feld autoincrement ist, nur beim auslesen.

                    jetzt aber ist die tab logischerweise leer. du hast sie ja grad erst angelegt. nun musst du auch noch daten da rein machen.
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      aso,
                      deswegen speichert er die einträde nicht muss ich dafürr dan alle felder auf
                      autoincrement stellen dies versuchte ich gerade mal mit dem feld name nur da gibt´s gleich mal eine fahlermeldung
                      Fehler
                      SQL-Befehl :

                      ALTER TABLE `DB`.`gb_tab` CHANGE `name` `name` TEXT NOT NULL AUTO_INCREMENT

                      MySQL meldet:


                      Incorrect column specifier for column 'name'
                      Vornehm geht die Welt zugrunde

                      Kommentar


                      • #12
                        mache das doch einmal mit phpmyadmin.

                        http://www.phpmyadmin.net
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          poste mal dein skript.

                          du hast (in diesem Thread) bis jetzt nur die tabelle erstellt und noch nix drin gespeichert (mit "INSERT INTO")

                          btw: text felder können nicht auto-increment sein (wie soll er denn hochzählen (alphabetisch, ASCII; sprich: fängt er mir der zahl 0 an oder mit dem zeichen mit ascii-code 0 oder mit A oder oder oder)
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            Original geschrieben von mrhappiness
                            .... btw: text felder können nicht auto-increment sein ....
                            da habe ich wohl was übersehen, blind wie ich bin.
                            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                            Kommentar


                            • #15
                              PHP-Code:
                              $fehlen ="";
                              if (empty(
                              $name)){
                                  
                              $fehlen=$fehlen."<li>Dein Name";
                                 }
                              if (empty(
                              $email)){
                                  
                              $fehlen=$fehlen."<li>Deine Mail";
                                 }
                              if (empty(
                              $eintrag)){
                                  
                              $fehlen=$fehlen."<li>Dein Eintrag";
                                 }

                              //fehlerausgabe

                              if (!empty($fehlen)){
                                  echo 
                              "<center><font face=arial size=2>Dein Eintrag könnte nicht übertragen werden.<br>";
                                  echo 
                              "Es fehlen :<br><br>";
                                  echo 
                              "<table><tr><td><strong>$fehlen</strong></td></tr></table><br><br>";
                                  echo 
                              "Bitte  versuch es nochmal <br><a href=\"javascript:history.back()\">zur&uuml;ck</a></font></center>";
                                }
                                else{
                              require (
                              "config.php"); 
                              $db mysql_connect ($server$benutzer$passwort)or die ("<p>Es konnte keine Verbindung zu der Datenbank erstellt werden. Bitte überprüfe deine Angaben Server, Benutzer und Kennwort.");
                              mysql_select_db($db_name,$db)or die ("<p>Es konnte keine Verbindung zu der Datenbank erstellt werden. Bitte überprüfe deine Angaben den Datenbanknamen ".$db_name.".");
                              $insert "INSERT INTO gb_tab(name, email, eintrag) values ('$name', '$email', '$eintrag')";
                              mysql_query($insert,$db) or mysql_error();

                              dies ist das auswertungs script bin gerade dabei mit phpMyAdmin eine tabelle zu erstellen!und wenn ich mir das jetzt so durchlese(mrhappiness) muss ich glaub noch mal das handbuch von mysql lesen hmmmmmmmm
                              Vornehm geht die Welt zugrunde

                              Kommentar

                              Lädt...
                              X