# PhpMyAdmin - Fehlermeldung #1064



## Leopold_Schefcik (26. Oktober 2004)

Kann mir bitte jemand helfen, was aufgrund dieser Fehlermeldung an der Syntax falsch ist?

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 
'(50) NOT NULL, `Alter` INT(5) NOT NULL, `Geb_Bundesland` INT(5)[Dokumentation] 


SQL-Befehl :  



*CREATE* *TABLE* `Benutzerdaten` ( `USER_ID` INT( 5 ) *NOT* *NULL* *AUTO_INCREMENT* ,
`Jahr` VARCHAR( 4 ) *NOT* *NULL* ,
`Monat` VARCHAR( 2 ) *NOT* *NULL* ,
`Tag` VARCHAR( 2 ) *NOT* *NULL* ,
`Stunde` VARCHAR( 2 ) *NOT* *NULL* ,
`Minute` VARCHAR( 2 ) *NOT* *NULL* ,
`Sekunde` VARCHAR( 2 ) *NOT* *NULL* ,
`Name_User` LONGTEXT( 50 ) *NOT* *NULL* ,
`Alter` INT( 5 ) *NOT* *NULL* ,
`Geb_Bundesland` INT( 5 ) *NOT* *NULL* ,
`EW_Geb_Ort` INT( 5 ) *NOT* *NULL* ,
`Geschlecht` INT( 1 ) *NOT* *NULL* ,
`Ausbildung` INT( 1 ) *NOT* *NULL* ,
`Wohnort` TEXT( 30 ) *NOT* *NULL* ,
`PLZ` INT( 5 ) *NOT* *NULL* ,
`Dauer_Wien` INT( 1 ) *NOT* *NULL* ,
`Fuehrerschein` INT( 1 ) *NOT* *NULL* ,
`Auto_Benutzung` INT( 1 ) *NOT* *NULL* ,
`Jahresnetzkarte` INT( 1 ) *NOT* *NULL* ,
`Arbeitsweg` INT( 4 ) *NOT* *NULL* ,
*PRIMARY* *KEY* ( `Jahr` , `Monat` , `Tag` , `Stunde` , `Minute` , `Sekunde` ) 
)


----------



## redlama (26. Oktober 2004)

Wenn ich mich nicht allzu sehr täusche, dann gibt es für LONGTEXT keine Angabe der Länge.
Nimm also mal das "(50) NOT NULL" hinter LONGTEXT raus.
Dann müsste es eigentlich funktionieren.

redlama


----------



## Leopold_Schefcik (26. Oktober 2004)

herzlichen Denk!

bei der Gelegenheit habe ich noch eine weitere Fehlermeldung:

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 'Sekunde, Name) values (2004, 10, 26, 13, 01, 'XY')' at line 1



```
<html>
<head>
<?php
  if (isset($_POST["gesendet"]))
   {
	$db_host = "localhost"; 
	$db_user = "lags";
	$db_pass = "*****";
	$db_name = "kdsw_21";
   
   //  @mysql_connect($db_host,$db_user,$db_pass) or die(mysql_error());
 $db = mysql_connect($db_host,$db_user,$db_pass) or die(mysql_error());
	@mysql_select_db($db_name) or die(mysql_error());
// Bei register_global=off Variablen eintragen
  if (!ini_get('register_globals'))
  {
	$types_to_register = array('GET','POST','COOKIE','SESSION','SERVER');
	foreach ($types_to_register as $type)
	{
	 if (@count(${'HTTP_' . $type . '_VARS'}) > 0)
	 {
	   extract(${'HTTP_' . $type . '_VARS'}, EXTR_OVERWRITE);
	 }
	}
  }
	  $sqlab = "insert benutzerdaten";
	  $sqlab .= "(Jahr, Monat, Tag, Stunde, Minute";
	  $sqlab .= " Sekunde, Name) values ";
//	  $sqlab .= "('$na', '$vn', $pn, $ge, '$gt')";
//	  $sqlab .= '".$_POST["na"]."', '".$_POST["vn"]."';
	  $sqlab .= "(".$_POST["jahr"].", ".$_POST["monat"].", ".$_POST["tag"].", ".$_POST["stunde"].", ".$_POST["minute"].", '".$_POST["name"]."')";
 mysql_query($sqlab) or die(mysql_error());
	  $num = mysql_affected_rows();
	  if ($num>0)
		 echo "Es wurde 1 Datensatz hinzugefügt<p>";
	  else
	  {
		 echo "Es ist ein Fehler aufgetreten, ";
		 echo "es wurde kein Datensatz hinzugefügt<p>";
	  }
	  mysql_close($db);
   }
?>
</head>
<body>
Geben Sie einen vollständigen Datensatz ein und senden Sie das 
Formular ab:
<form action = "uf15.php" method = "post">
	<input name="jahr"> Jahr<p>
	<input name="monat"> Monat<p>
	<input name="tag"> Tag <p>
	<input name="stunde"> Stunde<p>
	<input name="minute">Minute<p>
  <input name="sekunde">Sekunde<p>
   <input name="name">Name<p>
	<input type="submit" name="gesendet">
	<input type="reset">
</form>
Alle Datensätze <a href="uf07.php">anzeigen</a>
</body>
</html>
```


----------



## redlama (26. Oktober 2004)

Leopold_Schefcik hat gesagt.:
			
		

> $sqlab = "insert benutzerdaten";
> $sqlab .= "(Jahr, Monat, Tag, Stunde, Minute";
> $sqlab .= " Sekunde, Name) values ";
> $sqlab .= "(".$_POST["jahr"].", ".$_POST["monat"].", ".$_POST["tag"].", ".$_POST["stunde"].", ".$_POST["minute"].", '".$_POST["name"]."')";


Dazu 2 Dinge.
1.: Muss das nicht eigentlich so aussehen '".$_POST["jahr"]."' ?
2.: Hast Du zwischen $_POST["minute"] und $_POST["name"] nicht die Sekunden vergessen?

redlama

P.S. Kann sein, dass es nur an 2. liegt und 1. falsch ist.


----------

