Martin: Weiß nicht mehr wieter

Hallo an alle,

ich will gerade mit PHPMyAdmin eine Datenbank anlegen und dann eine Tabelle wenn ich dann auf speichern gehe, dann kommt diese Meldung was mach ich falsch ?

Fehler

SQL-Befehl :

CREATE TABLE User (

Nick VARCHAR( 30 ) NOT NULL ,
Name VARCHAR( 30 ) NOT NULL ,
Vorname VARCHAR( 30 ) NOT NULL ,
Passwort VARCHAR( 30 ) NOT NULL ,
Email VARCHAR( 30 ) NOT NULL ,
Geschlecht DATE( 30 ) NOT NULL ,
Geburt VARCHAR( 30 ) NOT NULL ,
Status VARCHAR( 30 ) NOT NULL
)

MySQL meldet:

#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '(30) NOT NULL, Geburt VARCHAR(30) NOT NULL, Status VARCHAR(

Gruß Martin

  1. Füge doch einfach mal einen Schlüssel ein (Primärschlüssel ) und lass ihn automatisch hochzäheln.

    Denn müsste es passen.

    1. Hmm.....

      jetzt kommt der Fehler:

      Fehler

      SQL-Befehl :

      CREATE TABLE User (

      ID VARCHAR( 30 ) NOT NULL AUTO_INCREMENT ,
      Nick VARCHAR( 30 ) NOT NULL ,
      Name VARCHAR( 30 ) NOT NULL ,
      Vorname VARCHAR( 30 ) NOT NULL ,
      Passwort VARCHAR( 30 ) NOT NULL ,
      Email VARCHAR( 30 ) NOT NULL ,
      Geschlecht VARCHAR( 30 ) NOT NULL ,
      Geburt DATE( 30 ) NOT NULL ,
      Status VARCHAR( 30 ) NOT NULL ,
      PRIMARY KEY ( ID )
      )

      MySQL meldet:

      #1063 - Incorrect column specifier for column 'ID'

      Gruß Martin

      1. Nimm nich varchar, sondern integer.

        1. Hmm.....

          gibts bei mir nicht.. kann das auch anderes heißen oder heißt das genau so wie du es aufgeschrieben hast

          1. Integer ist ein ganzzahliger Zahlenwert.

            Der ist bei PHPmyadmin mit INT oder SMALLINT oder TINYINT abgekürzt. je nach größe.

            1. Nee du,

              es geht dann immer noch nicht

          2. Hmm.....

            gibts bei mir nicht.. kann das auch anderes heißen oder heißt das genau so wie du es aufgeschrieben hast

            Man man man
            1. Besorge Dir ein Tutorial zu MySQL
            2. Beschäftige Dich mit Datenbanken im Spezielle mit Datentypen
            3. lies die FAQ
            4. Suche im Archiv
            5. Wenn Du dann noch Fragen hast komme wieder und Frage.

            Sorry ich bin mir ziemlich sicher, das Du die einzelnen Datentypen nicht aueinanderhalten kannst, und dass Du noch nicht einmal eine kleine Accessanwendung programmiert hast.
            Du kennst nicht einmal den unterschied zwischen Datenbank und Tabelle.

            Hier ein Link zu einem guten Tutorial für Einsteiger.
            http://ffm.junetz.de/members/reeg/

            Viel Spaß beim lernen.
            TomIRL

  2. yo,

    mysql mag bestimmte schlüssel-wörter nicht, die als tabelle oder spaltenname angegeben wurde. ich tippe mal auf status, gib der spalte einfach einen anderen namen wie statu und versuch es nochmal.

    Ilja

    1. HuHu,

      habe ich jetzt nicht kappiert was du meintest.... kannst du mir das nochamls erklären ?

      Gruß Martin

      1. yo,

        die fehlermeldung kann im zusammenhang mit den namen der spalten in der tabelle stehen, die du anlegen willst. insbesondere der spaltenname status kann probleme machen. ersetz doch mal den spaltenname status mit statu.

        primary key ist nicht zwingend notwenig für eine tabelle, insofern wird das auch nicht der grund für die fehlermeldung sein.

        Ilja

        1. Hey....

          nee du dann kommt auch wieder der Fehler,

          SQL-Befehl :

          CREATE TABLE User (

          ID VARCHAR( 30 ) NOT NULL AUTO_INCREMENT ,
          Nick VARCHAR( 30 ) NOT NULL ,
          Name VARCHAR( 30 ) NOT NULL ,
          Vorname VARCHAR( 30 ) NOT NULL ,
          Passwort VARCHAR( 30 ) NOT NULL ,
          Email VARCHAR( 30 ) NOT NULL ,
          Geschlecht DATE( 30 ) NOT NULL ,
          Geburt VARCHAR( 30 ) NOT NULL ,
          Arbeit VARCHAR( 30 ) NOT NULL ,
          PRIMARY KEY ( ID )
          )

          MySQL meldet:

          #1063 - Incorrect column specifier for column 'ID'

          Gruß martin

          1. yo,

            ruhig brauner, du wirfst viele sachen durcheinander. lass doch mal den primary key weg, schritt für schritt. eventuell macht der name der tabelle "user" auch probleme. aber versuch erst mal das umzusetzen, was man dir sagt, sprich deine erste anweisung ohne primary key und anstelle von status statu benutzen.

            Ilja

          2. Moin moin,

            CREATE TABLE User (

            ID VARCHAR( 30 ) NOT NULL AUTO_INCREMENT ,

            Wie schon gesagt worden ist, und wie auch die Fehlermeldung unten meint:
            Varchar ist der falsche Typ, du kannst nur numerische Typen hochzählen lassen. Also z.B. INT.

            MySQL meldet:

            #1063 - Incorrect column specifier for column 'ID'

            Vielleicht kann dir ja http://www.schattenbaum.net/php/mstart.php als Basiswissen für mySQL weiterhelfen.

            Gruß
            Patrick

  3. Hallo,

    SQL-Befehl :

    CREATE TABLE User (

    Nick VARCHAR( 30 ) NOT NULL ,
    Name VARCHAR( 30 ) NOT NULL ,
    Vorname VARCHAR( 30 ) NOT NULL ,
    Passwort VARCHAR( 30 ) NOT NULL ,
    Email VARCHAR( 30 ) NOT NULL ,
    Geschlecht DATE( 30 ) NOT NULL ,

    ^Error: Was soll die Zahl in Klammern hinter DATE bedeuten? Der Datentyp DATE hat eine feststehende Inhalts-Breite, die nicht verändert werden kann.

    Geburt VARCHAR( 30 ) NOT NULL ,
    Status VARCHAR( 30 ) NOT NULL
    )

    Allerdings: Was soll das Feld Geschlecht mit dem Datentyp DATE aussagen? Seit wann die Person männlich bzw. weiblich ist? Nicht, dass dies medizinisch unmöglich wäre, es ist allerdings schon seltsam ;-))

    viele Grüße

    Axel

    1. Hmm....

      wenn ich das weg lasse dann geht das immer noch nicht

      1. yo,

        bei mir geht es

        CREATE TABLE User (

        Nick VARCHAR( 30 ) NOT NULL ,
        Name VARCHAR( 30 ) NOT NULL ,
        Vorname VARCHAR( 30 ) NOT NULL ,
        Passwort VARCHAR( 30 ) NOT NULL ,
        Email VARCHAR( 30 ) NOT NULL ,
        Geschlecht DATE NOT NULL ,
        Geburt VARCHAR( 30 ) NOT NULL ,
        Status VARCHAR( 30 ) NOT NULL
        )

        Ilja

        1. Danke jetzt gehts bei mir auch :-)) Jetzt gehts aber weiter jetzt sollte ich ein paar Skripte einbinden könntest du mir da helfen ? Wenn d uwilslt kannst dich auch mal via ICQ melden

          1. yo,

            Jetzt gehts aber weiter jetzt sollte ich ein paar Skripte einbinden könntest du mir da helfen ?

            wenn du konkrete fragen hast, stell sie einfach hier ins forum. viele augen sehen mehr als ein paar und ich habe den fehler ja auch nicht gefunden. je präziser deine fragen, um so besser die antworten. außerdem benutze ich kein icq.

            Ilja

            1. HuHu,

              ich habe hier jetzt drei Skripte bzw die habe ich von jemandem bekommen, jetzt meinte er ich soll die auf der WebSeite einbauen ich weiß aber nicht genau wie.....

              Hier mal die Skripte:

              1.) Skript

              <?
              $Host = "localhost"; // Kannst du wahrscheinlich so stehen lassen
              $User = "root"; //Dein USername für die Datenbank
              $Passwort = "";// Dein Passwort
              $Datenbank = "Login";// Dein Datenbanlname

              $connection = @mysql_connect($Host ,$User , $Passwort);
              @mysql_select_db($Datenbank, $connection);
              ?>

              2.)Skript

              <? //Hier darf nicht einmal ein Leerzeicehn vor ! Das muss ganz an den Anfang !
              include("connection.php"); //
              if ($login == "admin" OR $login == "user")//
              {//
              session_start();//
              session_register(login);//
              }//
              // Danach kommt deine HTML Seite?>
              <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
              <html>
              <head>
              <title>Unbenanntes Dokument</title>
              <script language="JavaScript"> // Dieses  Javascript muss immer in den Header ! Auf jeder geschützten Seite!
              function popup(){//
              window.open("re.php","registration","width=310,left=0,top=0");//
              }//
              //</script>

              </head>
              <body>
              <?
              // Ab hier alles dahin kopieren wo der Inhalt erscheinen soll!
              if (login == "admin"){?>

              // Das für den Admin

              <?
              }
              if (login == "user"){?>

              // Das für den User
              <?

              else{
              }
              if (isset($loginversuch)){
              $result = @mysql_query("SELECT Nick,Passwort,Status FROM User WHERE Nick=$Name");
              $row = mysql_fetch_arry($result)
              if ($row["Passwort"] == $Passwort)
              {
              $login="y";
              }
              if ($row["Status"] == "Admin" AND $row["Passwort"] == $Passwort){
              $login="y";
              $Admin="y";
              session_register(login);
              session_register(Admin);}

              ?>
              <?

              if ($login=="y"){
              if ($Admin=="y"){
              echo "<a href="".$PHP_SELF."?login=admin">Klicke um de Login abzuschließen</a>";
              }
              else
              {
              echo "<a href="".$PHP_SELF."?login=user">Klicke um de Login abzuschließen</a>";
               }
               }
               }
              else
              {?>

              <form name="form1" method="post" action="<?=$PHP_SELF?>">
                <p>Name:  </p>
                <p>
                  <input type="text" name="name">
                </p>
                <p>Passwort:</p>
                <p>
                  <input type="password" name="passwort">
                </p>
                <p>
                  <input type="submit" name="Submit" value="Login">
               <input name="loginversuch" type="hidden" value="y">
              </p>
                <p><a href="javascript:popup();">Registrieren</a> </p>
                <p>  </p>
              </form>

              <? }}
              ?>

              </body>
              </html>

              3.) Skript

              <?
              include("connection.php");
              ?>
              <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
              <html>
              <head>
              <title>Unbenanntes Dokument</title>
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
              </head>
              <body>
              <?
              if($geschickt=="k"){

              $sql = " INSERT INTO User SET
              Nick ='$nick',
              Status ='$status',
              Email ='$email',
              Passwort = '$passwort',
              Vorname = '$vorname',
              Name = '$name',
              Geschlecht = '$geschlecht',
              Geburt = '$geburt'";

              if ($passwort == $passwort2){
              @mysql_query($sql)
              echo "Registrierung erfolgreich";
              }

              }
              else {
              ?>
              <form name="form1" method="post" action="<?=$PHP_SELF?>">
                <div align="left">
                  <pre>Benutzername:
              <input type="text" name="nick">

              E-mail Adresse:
              <input type="text" name="email">

              Passwort:
              <input type="text" name="passwort">

              Passwort wiederhohlen :
              <input type="text" name="passwort2">

              Vorname:
              <input type="text" name="vorname">

              Name:
              <input type="text" name="name">

              Geschlecht:
              <input type="text" name="geschlecht">

              Geburtsdatum:
              <input type="text" name="geburt">
              <input name="geschickt" type="hidden" value="k">
              <input name="status" type="hidden" value="user">

              <input type="submit" name="Submit" value="Registrieren">
                </pre>
                </div>
              </form>
              <?
              }
              ?>
              <p align="left"> </p>
              </body>
              </html>

              So nun meinte er ich soll das alles einbauen und dann wurde das gehen ich weiß nur nicht wie ich das machen muss er hat ja manche Sachen auch Komentiertt aber ich kann damit nicht anfangen

              Gruß Martin