install.php erweitern...Fehler

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
codemonkey
Ehemaliges Teammitglied
Beiträge: 3005
Registriert: 13.10.2002 15:15
Wohnort: Wilhelmshaven
Kontaktdaten:

install.php erweitern...Fehler

Beitrag 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
Benutzeravatar
Mister_X
Ehemaliges Teammitglied
Beiträge: 7102
Registriert: 24.05.2001 02:00
Wohnort: Augsburg

Beitrag 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 ?
codemonkey
Ehemaliges Teammitglied
Beiträge: 3005
Registriert: 13.10.2002 15:15
Wohnort: Wilhelmshaven
Kontaktdaten:

Beitrag 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!
Benutzeravatar
Mister_X
Ehemaliges Teammitglied
Beiträge: 7102
Registriert: 24.05.2001 02:00
Wohnort: Augsburg

Beitrag 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
codemonkey
Ehemaliges Teammitglied
Beiträge: 3005
Registriert: 13.10.2002 15:15
Wohnort: Wilhelmshaven
Kontaktdaten:

Beitrag 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.
Benutzeravatar
Mister_X
Ehemaliges Teammitglied
Beiträge: 7102
Registriert: 24.05.2001 02:00
Wohnort: Augsburg

Beitrag 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;
codemonkey
Ehemaliges Teammitglied
Beiträge: 3005
Registriert: 13.10.2002 15:15
Wohnort: Wilhelmshaven
Kontaktdaten:

Beitrag von codemonkey »

Ohh mann! Endlich geht es! Danke, Danke, Danke für die Hilfe Mister_X!!
Antworten

Zurück zu „Coding & Technik“