Seite 1 von 2
Update-Script erstellen
Verfasst: 11.03.2009 12:18
von IceD
Ich möchte eine sql Anweisung aus einer Mod-Installation per Update Script ausführen. (Leider lassen sich die 2 Zeilen nicht per mysqldumper einbinden, bekomme da seltsame Fehlermeldungen)
Es handelt sich hier um 2 Insert Into Anweisungen.
Wie muss das Script aussehen? ( Mir reicht es aus, wenn durch den Aufruf der php die Anweisungen umgesetzt werden, und ein OK am Ende ausgegeben wird, brauche also keine Grafische Gestaltung)
Re: Update-Script erstellen
Verfasst: 11.03.2009 12:30
von aurora876
poste mal die fehlermeldungen und die SQL-befehle.
evtl. fehlt bloß ein zeichen oder so

Re: Update-Script erstellen
Verfasst: 11.03.2009 12:37
von IceD
komme ja nicht mal in mysqldumper rein, die Fehlermeldung bezog sich auf das Programm

Re: Update-Script erstellen
Verfasst: 12.03.2009 16:46
von aurora876
aber du wirst doch die fehlermeldung sehen, wenn du den dumper aufrufst?
wenn du mit dem dumper probleme hast, kannst du den entweder runterwerfen (also den ordner und alle unterverzeichnisse des dumpers löschen - aber vorher die backups aus dem work/backup/ - ordner rausnehmen (sofern da welche sind), evtl. brauchst du die nochmal.) und dann den dumper neu installieren.
hat mir auch schon mal geholfen, danach lief es wieder prima.
oder im supportforum für den mysqldumper nachfragen, die können dir am besten/am ehesten weiterhelfen, die haben den dumper ja entwickelt.
Re: Update-Script erstellen
Verfasst: 13.03.2009 03:54
von gn#36
Ein derartiges Skript könnte so aussehen:
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = 'php';
include($phpbb_root_path . 'common.' . $phpEx);
//---- AB HIER ... -----
$sql = "<<<DEINE SQL ANWEISUNGEN>>>";
$result = $db->sql_query($sql);
//---- ...BIS HIER GGF. COPY & PASTE F. MEHRERE QUERIES ----
trigger_error('Das SQL Query wurde ausgeführt');
Ist jetzt mal so eben dahin geschrieben, ich hoffe ich habe nichts vergessen. Falls das Query einen SQL Fehler produziert wird der automatisch ausgegeben. Falls du den Rückgabewert brauchst oder die Anzahl der betroffenen Zeilen oder so brauchst du mehr Code.
Re: Update-Script erstellen
Verfasst: 13.03.2009 09:02
von IceD
danke, werde es heute gleich mal ausprobieren.
Edit: Hat funktioniert, Danke! (zum Glück bin ich kein Laie, was Syntaxen angeht

, der php Tag schließt bei dir nicht ab

)
Re: Update-Script erstellen
Verfasst: 13.03.2009 09:44
von mad-manne
IceD hat geschrieben:zum Glück bin ich kein Laie, was Syntaxen angeht

, der php Tag schließt bei dir nicht ab

)
Dir ist schon klar, dass dieses Forum in erster Linie für Denkanstösse bei Programmierproblemen und nicht für fertige Komplettlösungen "aus der Box" gedacht ist.
Ausserdem hat gn36 sogar extra darauf hingewiesen, dass er nur schnell das Konzept aufzeigen wollte:
gn36 hat geschrieben:Ist jetzt mal so eben dahin geschrieben, ich hoffe ich habe nichts vergessen.
Insofern ist ganz besonders bei den Antworten in diesem Forum das Mitdenken ausdrücklich erwünscht!
Gruss,
Manne.
Re: Update-Script erstellen
Verfasst: 13.03.2009 12:22
von bantu
IceD hat geschrieben:... der php Tag schließt bei dir nicht ab

)
PHP ist so intelligent und ergänzt den selbst.

Re: Update-Script erstellen
Verfasst: 09.05.2009 20:31
von IceD
so, bei insert und alter hab ich keine Probleme, aber mit create table.
kann das jemand mal gegen kontrollieren?
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = 'php';
include($phpbb_root_path . 'common.' . $phpEx);
//---- AB HIER ... -----
$sql = "CREATE TABLE " . phpbb_hookup_members . " (`topic_id` int(11) NOT NULL default '0', `user_id` int(11) NOT NULL default '0', `notify_status` tinyint(1) NOT NULL default '0', `comment` VARCHAR( 255 ) NOT NULL DEFAULT '', PRIMARY KEY (`topic_id`,`user_id`), KEY `topic_id` (`topic_id`)";
$result = $db->sql_query($sql);
//---- ...BIS HIER GGF. COPY & PASTE F. MEHRERE QUERIES ----
trigger_error('Das SQL Query wurde ausgeführt');
?>
so lautet die Anweisung laut install.xml
Code: Alles auswählen
CREATE TABLE `phpbb_hookup_members` (
`topic_id` int(11) NOT NULL default '0',
`user_id` int(11) NOT NULL default '0',
`notify_status` tinyint(1) NOT NULL default '0',
`comment` VARCHAR( 255 ) NOT NULL DEFAULT '',
PRIMARY KEY (`topic_id`,`user_id`),
KEY `topic_id` (`topic_id`)
);
Re: Update-Script erstellen
Verfasst: 09.05.2009 20:41
von gn#36
Nicht ganz.
phpbb_hookup_members ist keine existierende Konstante, ich würde es eher mit HOOKUP_MEMBERS_TABLE probieren
