Seite 1 von 2

Hilfe benötigt

Verfasst: 29.09.2003 09:57
von Firestarter
Hi,

wer kann mir mal eine Anleitung für ein Skript geben, womit ich über FTP einen solchen MySQL-Befehl ( ALTER TABLE phpbb_topics
ADD answer_status TINYINT(1) UNSIGNED DEFAULT '0' NOT NULL
AFTER topic_last_post_id) ausführen lassen kann ?

Denn mir fehlt zur Zeit der Zugang über Browserbenutzung und somit kann ich nur über FTP handeln.

Danke im Voraus für die Hilfe.

MfG

Firstarter

Verfasst: 29.09.2003 09:59
von Henne
Hast du denn nen Shell-Zugang?
Auch wenn du da jetzt ein Script bekommst, dann muss das ja irgendwie aufgerufen werden.
Entweder über Browser, oder SHell. Aber über FTP kann man doch nichts ausführen...

Verfasst: 29.09.2003 10:10
von Firestarter
viele Hacks haben Dateien wie "update" etc. ich dachte vielleicht weiss jemand wie ich den Befehl so auf den Server bekomme.

Diese Dateien schreiben dann selbständig die benötigen Befehle in die Datenbank, kann man nicht auch in diesem Fall so eine Datei erstellen?

Verfasst: 29.09.2003 10:12
von Henne
Aber die muss ja auch übern Browser aufgerufen werden...

Verfasst: 29.09.2003 10:15
von oxpus
Am einfachsten wäre es, Du würdest phpMyAdmin installieren. Damit kannst Du ganz bequem alle Datenbankoperationen ausführen und sogar die Tabellen einsehen (für Korrekturen, Erweiterungen, etc.).
Auch bietet dieses Tool Möglichkeiten die Datenbank oder einzelne Tabellen zu Optimieren/Reparieren und auch ein vollständiges Backup ist damit Möglich. Die Backup-Funktion im ACP von phpBB müsste angepasst werden, um zusätzliche Tabellen (für neue Mods) mit zu sichern. phpMyAdmin sichert auf Wunsch die gesamte Datenbank...

Verfasst: 29.09.2003 10:16
von Henne
Bringt einem nur nicht viel, wenn man keinen Zugang zu einem Browser hat... :roll:

Verfasst: 29.09.2003 10:27
von Firestarter
Hier mal eine solche Datei :

Code: Alles auswählen

<?php
/***************************************************************************
 *                               db_update.php
 *                            -------------------
 *   copyright            : ©2003 Freakin' Booty ;-P
 *   built for            : Always show 'edited by' 0.0.3
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//


if( !$userdata['session_logged_in'] )
{
	$header_location = ( @preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')) ) ? 'Refresh: 0; URL=' : 'Location: ';
	header($header_location . append_sid('login.'.$phpEx.'?redirect=db_update.'.$phpEx));
	exit;
}

if( $userdata['user_level'] != ADMIN )
{
	message_die(GENERAL_MESSAGE, 'You are not authorised to access this page');
}


$sql = array();
$sql[] = "CREATE TABLE " . $table_prefix . "posts_edit (post_id mediumint(8) unsigned NOT NULL default '0', user_id mediumint(8) unsigned NOT NULL default '0', post_edit_count smallint(5) unsigned NOT NULL default '0', post_edit_time int(11) default NULL, KEY (post_id));";

for( $i = 0; $i < count($sql); $i++ )
{
	if( !$result = $db->sql_query ($sql[$i]) )
	{
		message_die(GENERAL_ERROR, 'Could not update database', '', __LINE__, __FILE__, $sql[$i]);
	}

	$sql_message .= '* ' . $sql[$i] . '<br />';
}

$message = 'Database updated successfully<br />The following queries were executed:<br /><br /><span class="genmed">' . $sql_message . '</span><br /><br />Please be sure to delete this file now<br /><br />' . sprintf ($lang['Click_return_index'], '<a href="' . append_sid ('index.'.$phpEx) . '">', '</a>');
message_die (GENERAL_MESSAGE, $message);

?>
Kann man nicht hier den Befehl einbauen?

Code: Alles auswählen


SQL QUERY: Ausfuehren per phpmyadmin und darauf achten, das der Tabellenprefix uebereinstimmt.

ALTER TABLE phpbb_topics
ADD answer_status TINYINT(1) UNSIGNED DEFAULT '0' NOT NULL
AFTER topic_last_post_id

Verfasst: 29.09.2003 10:32
von Henne
http://www.phpbbhacks.com/viewhack.php?id=1581

Ich verstehe nur nicht, wie du die ohne Browser ausführen willst...

Verfasst: 29.09.2003 10:34
von Firestarter
Ich sag mal so, wenn diese Datei es möglich macht, das der richtige Eintrag in der Db gemacht wird, müsste es auch mit dem anderen Befehl gehen.

Verfasst: 29.09.2003 10:45
von tfranzke1
Firestarter hat geschrieben:
Kann man nicht hier den Befehl einbauen?

Code: Alles auswählen


SQL QUERY: Ausfuehren per phpmyadmin und darauf achten, das der Tabellenprefix uebereinstimmt.

ALTER TABLE phpbb_topics
ADD answer_status TINYINT(1) UNSIGNED DEFAULT '0' NOT NULL
AFTER topic_last_post_id
Also könnte ja, ABER ob das praktisch ist, nein. Hier mein Vorschlag: phpmyadmin benutzen wie oben schon geschildert oder wenn Du keinen Zugang zu einem Browser haben solltest (warum auch immer), dann benutze doch einfach eine SQL Management Console (MySQL Control Center oder SQLyog). Mit diesen Programmen kannst Du Dich mit Deinem Server verbinden und die entsprechenden Befehle ausführen. Du bekommst auch direkt die Meldung ob es funktioniert hat oder nicht.

Beste Grüße,

Thorsten