Weiß nicht mehr wieter
Martin
- datenbank
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
Füge doch einfach mal einen Schlüssel ein (Primärschlüssel ) und lass ihn automatisch hochzäheln.
Denn müsste es passen.
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
Nimm nich varchar, sondern integer.
Hmm.....
gibts bei mir nicht.. kann das auch anderes heißen oder heißt das genau so wie du es aufgeschrieben hast
Integer ist ein ganzzahliger Zahlenwert.
Der ist bei PHPmyadmin mit INT oder SMALLINT oder TINYINT abgekürzt. je nach größe.
Nee du,
es geht dann immer noch nicht
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
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
HuHu,
habe ich jetzt nicht kappiert was du meintest.... kannst du mir das nochamls erklären ?
Gruß Martin
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
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
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
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
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 ,
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
Hmm....
wenn ich das weg lasse dann geht das immer noch nicht
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
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
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
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