SQL Syntax Fehler

focus

Mitglied
Ja ich habe auch mal wieder ein Problem :/ ich will mir eine bilder-gallery auf meiner site einrichten, hab miur da jetzt ein schönes skript runtergeladen. so jetzt wollte ich installieren (sql) und dann kam folgender Fehler ->

Code:
ERROR! Could not create table. Reason: 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 '(14) NOT NULL, album_date_last_updated datetime(14) NOT NULL

Also so wie ich das lese, ist das ein Fehler in der SQL Datenbank, aber wie kann ich den beheben? Ist das mit PHPMyAdmin möglich oder muss ich meinen Host ranlassen?

Hier nochmal der komplette Screen ->

Code:
Testing DB Connection...DB Connection Good!
Selected database kamikazze...Database Selected!
Creating MyPhotos2 tables an inserting default data...
Creating table album ERROR! Could not create table. Reason: 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 '(14) NOT NULL, album_date_last_updated datetime(14) NOT NULL

Hoffe ihr könnt mir helfen ! :)
mfg focus
 
das ist in fehler in dem Installationsscript.

Er Versucht eine Datenbanktabelle anzulegen und das geht schief :)

suche mal im scrip nach sowas:

...... mysql_query("create ...... album_date_last_updated .....

und poste mal die zeile und ein paar davor
 
Code:
<?php
if($next) {
   switch($next) {
    case 'database':
      if(!$done) {
	 echo "Testing DB Connection...";
	 flush();
	 if(!$db = mysql_connect("$dbserver", "$dbuser", "$dbpass"))
	   die("<font color=\"#FF0000\">Error, I could not connect to the database at $dbserver. Using username $dbuser and password $dbpass.<BR>Please go back and try again.");
	 echo "<font color=\"#00FF00\">DB Connection Good!</FONT><BR>";
	 flush();
	 echo "Selected database $dbname...";
	 flush();
	 if(!@mysql_select_db("$dbname", $db)) {
	    echo "<font color=\"#FF0000\">Database could not be found</font><BR>";
	    flush();
	    echo "Attempting to create database $dbname...";
	    flush();
	    if(!$r = mysql_query("CREATE DATABASE $dbname", $db))
	      die("<font color=\"#FF0000\">Error, count not select or create database $dbname, please create it manually or have your system administrator do it for you and try again.");
	    mysql_select_db("$dbname", $db);
	    echo "<font color=\"#00FF00\">Database Created!</font><BR>";
	    flush();
	 }
	 else
	   echo "<font color=\"#00FF00\">Database Selected!</font><BR>";
	 flush();
	 echo "Creating MyPhotos2 tables an inserting default data...<BR>";
	 flush();

ich hoffe das war jetzt net zuviel code :)
 
mmh ich hab jetzt mal ein anderes galleryskript ausprobiert! da kommt der gleiche fehler :/

Code:
MySQL meldet: 

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 '$apa_tables['config'] => "CREATE TABLE ".$apa_tables['config'].

versteht da meine sql datenbank ein befehl nicht?
 
ne war nicht zu viel code, aber die falsche stelle :)

PHP:
         flush();
	 echo "Creating MyPhotos2 tables an inserting default data...<BR>";
	 flush();

was danach kommt ist von intresse :)
 
Ok :)

Code:
$tables = array ("album" => "CREATE TABLE ".$dbprefix."album (
  album_id int(10) unsigned NOT NULL auto_increment,
  album_title tinytext,
  album_description text,
  album_date_added datetime(14) NOT NULL,
  album_date_last_updated datetime(14) NOT NULL,
  album_level enum('1','2','3','4','5') NOT NULL default '1',
  PRIMARY KEY  (album_id)
)",
			  "comment" => "CREATE TABLE ".$dbprefix."comment (
  comment_id int(10) unsigned NOT NULL auto_increment,
  comment_text mediumtext,
  comment_date datetime(14) NOT NULL,
  user_id int(10) unsigned NOT NULL default '0',
  photo_id int(10) unsigned NOT NULL default '0',
  PRIMARY KEY  (comment_id)
)",
			  "config" => "CREATE TABLE ".$dbprefix."config (
  config_sitename tinytext NOT NULL,
  config_site_started datetime(14) NOT NULL,
  config_intro_text mediumtext,
  config_server_path tinytext,
  config_myphotos_version tinytext,
  config_def_language tinytext,
  config_def_avatar longblob,
  config_def_date_format tinytext,
  config_def_template tinytext,
  config_def_photos_on_a_row tinyint(2) default NULL,
  config_def_sort_photos_type tinytext,
  config_def_frontpage_type tinytext,
  config_def_send_mass_mail enum('true','false') default NULL,
  config_def_user_level enum('1','2','3','4','5') default NULL,
  config_automatic_thumbnails enum('true','false') default NULL,
  config_thumbnail_size smallint(6) default NULL,
  config_add_photo_level enum('1','2','3','4','5') default '2',
  config_languages_dir tinytext,
  config_templates_dir tinytext,
  config_images_dir tinytext,
  UNIQUE KEY config_sitename (config_sitename(50))
)",
			  "link" => "CREATE TABLE ".$dbprefix."link (
  link_id tinyint(3) unsigned NOT NULL auto_increment,
  link_text tinytext,
  link_url text,
  link_clicks int(10) unsigned default '0',
  user_id smallint(5) unsigned NOT NULL default '0',
  PRIMARY KEY  (link_id)
)",
			  "login" => "CREATE TABLE ".$dbprefix."login (
  user_id int(10) unsigned NOT NULL default '0',
  login_date datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (user_id,login_datum)
)",
			  "photo" => "CREATE TABLE ".$dbprefix."photo (
  photo_id int(10) unsigned NOT NULL auto_increment,
  photo_title tinytext,
  photo_data longblob,
  photo_type tinytext,
  photo_thumb_data longblob,
  photo_thumb_type tinytext,
  photo_url tinytext,
  photo_thumb_url tinytext,
  photo_date datetime default NULL,
  photo_views int(10) unsigned default '0',
  user_id int(10) unsigned NOT NULL default '0',
  album_id int(10) unsigned NOT NULL default '0',
  PRIMARY KEY  (photo_id)
)",
			  "rating" => "CREATE TABLE ".$dbprefix."rating (
  photo_id int(10) unsigned NOT NULL default '0',
  user_id int(10) unsigned NOT NULL default '0',
  rating_value tinyint(4) default '5',
  PRIMARY KEY  (photo_id,user_id)
)",
			  "smiley" => "CREATE TABLE ".$dbprefix."smily (
  smily_id tinyint(3) unsigned NOT NULL auto_increment,
  smiley_code tinytext,
  smiley_data longblob,
  smily_type tinytext,
  PRIMARY KEY  (smily_id)
)",
			  "user" => "CREATE TABLE ".$dbprefix."user (
  user_id int(10) unsigned NOT NULL auto_increment,
  user_name tinytext,
  user_password tinytext,
  user_email tinytext,
  user_avatar text,
  user_signature text,
  user_registered_date datetime(14) NOT NULL,
  user_level enum('1','2','3','4','5') default '2',
  user_language tinytext,
  user_date_format tinytext,
  user_template tinytext,
  user_nr_of_photo_on_a_row tinyint(2) unsigned default NULL,
  user_sort_photos_type tinytext,
  user_frontpage_type tinytext,
  user_send_mass_mail enum('true','false') default NULL,
  user_viewed_photos int(10) unsigned default NULL,
  user_comments_given int(10) unsigned default NULL,
  user_photos_added int(10) unsigned default NULL,
  user_photos_rated int(10) unsigned default NULL,
  PRIMARY KEY  (user_id)
)");

falls du noch mehr code brauchst, musst du es nur sagen :D Danke nochmal.


Und hier noch der Code aus der db_connect.inc.php
Code:
  $m2['db']['connection'] = mysql_connect ( $m2['db']['host'] ,
    $m2['db']['username'] , $m2['db']['password'] ) or error ( 0 );

  mysql_select_db ( $m2['db']['database'] , $m2['db']['connection'] );
 
ok
überall wo datetime(14) steht musst du es in
datetime ändern
sprich die 14 samt klammern löschen

aus z.b.

album_date_added datetime(14) NOT NULL,

wird

album_date_added datetime NOT NULL,

und das überall
 
Zuletzt bearbeitet:
ok das hat geklappt, super und danke nochmal :)

aber es ist ein neues Problem da, der Screen sieht jetzt so aus

Code:
Testing DB Connection...DB Connection Good!
Selected database kamikazze...Database Selected!
Creating MyPhotos2 tables an inserting default data...
Creating table album [OK] 
Creating table comment [OK] 
Creating table config [OK] 
Creating table link [OK] 
Creating table login ERROR! Could not create table. Reason: Key column 'login_datum' doesn't exist in table

Gibts darauf ne Lösung?


Das login_datum hab ich nur einmal im Code gefunden und zwar hier

Code:
			  "login" => "CREATE TABLE ".$dbprefix."login (
  user_id int(10) unsigned NOT NULL default '0',
  login_date datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (user_id,login_datum)
)",
 
na toll es gibt zwei möglichkeiten

aus
"login" => "CREATE TABLE ".$dbprefix."login (
user_id int(10) unsigned NOT NULL default '0',
login_date datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (user_id,login_datum)
)",

wird (möglichkeit 1)

"login" => "CREATE TABLE ".$dbprefix."login (
user_id int(10) unsigned NOT NULL default '0',
login_date datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (user_id,login_date)
)",

oder (möglichkeit 2)

"login" => "CREATE TABLE ".$dbprefix."login (
user_id int(10) unsigned NOT NULL default '0',
login_datum datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (user_id,login_datum)
)",

wenn ich tippen darf : möglichkeit 1

Das login_datum hab ich nur einmal im Code gefunden

wenn der spruch stimmt auf jedenfall Möglichkeit 1
 
Zuletzt bearbeitet:
Es war Möglichkeit1 , du hast mir da echt geholfen, bin dir echt dankbar! Läuft alles astrein, ich glaube der Thread hier ist jetzt unbrauchbar :)
 

Neue Beiträge

Zurück