Seite 1 von 1

install.php erweitern...Fehler

Verfasst: 22.10.2002 18:31
von codemonkey
Hallo (wusste keinen besseren Titel)

ich möchte das phpBB Installskript um ein paar Installtionsschritte erweitern. Will heißen, ich möchte einen Hack automatisch installieren lassen.
Jetzt würde ich also die SQL Befehle aus der mod_install.php nehmen und in die mysql_schema.sql Datei einfügen, richtig? Habe ich auch gemacht:

In der mod_install.php steht der Befehl

Code: Alles auswählen

{ //create mode
		$sql = "CREATE TABLE " . $table_prefix . "rate_results (
		`user_id` MEDIUMINT UNSIGNED NOT NULL,
		`topic_id` MEDIUMINT UNSIGNED NOT NULL,
		`rating` MEDIUMINT UNSIGNED NOT NULL,
		PRIMARY KEY (`user_id`, `topic_id`)
		)";
Daraus habe ich dann folgendes gemacht

Code: Alles auswählen

CREATE TABLE rate_results (
		user_id MEDIUMINT UNSIGNED NOT NULL,
		topic_id MEDIUMINT UNSIGNED NOT NULL,
		rating MEDIUMINT UNSIGNED NOT NULL,
		PRIMARY KEY (user_id, topic_id))
);


Zweiter Befehl der mod_install.php ist folgender

Code: Alles auswählen

{ //create mode
		$sql = "CREATE
		TABLE " . $table_prefix . "rate_config (
		config_name varchar(255) NOT NULL default '',
		config_value varchar(255) NOT NULL default '',
		PRIMARY KEY  (config_name)
		) [color=darkred]TYPE=MyISAM[/color]";
Dabei verwirrt mich besonders das rot makierte. Draus habe ich folgendes gemacht (habe das rot makierte weg gelassen)

Code: Alles auswählen

CREATE TABLE rate_config (
		config_name varchar(255) NOT NULL default '',
		config_value varchar(255) NOT NULL default '',
		PRIMARY KEY  (config_name))
);

Dann war da noch ein Befehl

Code: Alles auswählen

		$sql = "ALTER
		TABLE " . FORUMS_TABLE . "
		ADD `auth_rate` TINYINT(2) NOT NULL default -1";
Daraus habe ich dann

Code: Alles auswählen

ALTER	TABLE phpbb_auth_access ADD auth_rate TINYINT(2) DEFAULT '-1' NOT NULL;
gemacht. Soweit so gut, wenn ich dann aber das Install Skript von phpBB durchlaufen lasse, dann kommt der Fehler
Während der Installation trat ein Fehler auf
Beim Update der Datenbank trat ein Fehler auf
You have an error in your SQL syntax near ')' at line 9
Komisch ist dabei nur, dass meine mysql_schema.sql Datei insgesamt 661 Zeilen hat. Da kann doch kein Fehler in Zeile 9 sein, wenn ich die oben genannten Änderungen, unten eingetragen habe.

Wäre mega nett, wenn einer von euch mal den Code anschauen würde, und mir sagen könnte, warum dieser Fehler kommt, und was man da ändern muss.

Zu Info, dass ist der Rate Topic Hack

Verfasst: 22.10.2002 21:47
von Mister_X
du hast eine Klammer zuviel !

Code: Alles auswählen

CREATE TABLE rate_results ( 
      user_id MEDIUMINT UNSIGNED NOT NULL, 
      topic_id MEDIUMINT UNSIGNED NOT NULL, 
      rating MEDIUMINT UNSIGNED NOT NULL, 
      PRIMARY KEY (user_id, topic_id) 
);
und

Code: Alles auswählen

CREATE TABLE rate_config ( 
      config_name varchar(255) NOT NULL default '', 
      config_value varchar(255) NOT NULL default '', 
      PRIMARY KEY  (config_name) 
);
desweiteren würde ich vielleicht den Tabellen auch das phpbb Prefix verpassen oder ?

Verfasst: 23.10.2002 15:45
von codemonkey
Was meinst du mit phpBB Prefix verpassen? Die Installation hat schonmal geklappt, aber ein Fehler tritt immernoch auf

Code: Alles auswählen

Allgemeiner Fehler 
  
Couldn't retrieve rating config data.
das kommt beim ausführen der index.php. Ich verstehe nicht, was der Fehler soll!

Verfasst: 23.10.2002 16:37
von Mister_X
der Rating Mod denkt, dass seine Tabellen genau wie die Standardtabellen vom Forum auch das Prefix haben ! So wie du das da oben einträgst haben sie dieses Prefix aber nicht mehr.
nach
CREATE TABLE
einfach 2x noch ein
phpbb_
davorschreiben

Verfasst: 24.10.2002 14:23
von codemonkey
Hmm, soweit so gut, jetzt ist der Fehler weg, kommt aber ein neuer:

Code: Alles auswählen

Allgemeiner Fehler 
  
Couldn't query rating auth data.

Verfasst: 24.10.2002 15:04
von Mister_X
axo das hab ich übersehen:

Code: Alles auswählen

Dann war da noch ein Befehl 
$sql = "ALTER 
      TABLE " . FORUMS_TABLE . " 
      ADD `auth_rate` TINYINT(2) NOT NULL default -1";

Daraus habe ich dann 
ALTER   TABLE phpbb_auth_access ADD auth_rate TINYINT(2) DEFAULT '-1' NOT NULL;
gemacht.
das ist natürlich auch falsch, wie du in der constants.php nachschauen kannst steht FORUMS_TABLE für die tabelle phpbb_forums, diese Zeile muss also so aussehen:

Code: Alles auswählen

ALTER TABLE phpbb_forums ADD auth_rate TINYINT(2) DEFAULT '-1' NOT NULL;

Verfasst: 24.10.2002 15:32
von codemonkey
Ohh mann! Endlich geht es! Danke, Danke, Danke für die Hilfe Mister_X!!