Seite 1 von 2

db_install - Datei anstatt phpMyAdmin

Verfasst: 12.01.2007 22:20
von Tobro
Hallo,

ich habe ein Problem. Und zwar habe ich gerade einen Mod installiert, der von mir verlangt, eine Änderung via phpMyAdmin durchzuführen:
Folgender Query muss über phpmyadmin ausgeführt werden (Prefix anpassen)..

ALTER TABLE phpbb_users ADD user_info VARCHAR(255) AFTER user_interests;

Wenn man mehrere Felder hinzufügt/ändert, muss man den obigen Query duplizieren und den Feldnamen "user_info" anpassen.
Da ich derzeit jedoch nicht ins phpMyAdmin reinkomme, wollte ich fragen ob die Möglichkeit besteht, diese Aufgabe durch eine php-Datei durchzuführen.


Vielen Dank für eure Hilfe!


mfg tobro

:cookie:

Verfasst: 12.01.2007 22:59
von Balint
Hallo!

Folgenden Code als db_update.php abspeichern, hochladen und ausführen. Danach wieder löschen. Ohne Gewähr auf Richtigkeit!

Code: Alles auswählen

<?php
/***************************************************************************
 *                               db_update.php
 *                            -------------------
 *
 *   copyright            : ©2003 Freakin' Booty ;-P & Antony Bailey
 *   project              : http://sourceforge.net/projects/dbgenerator
 *   Website              : http://freakingbooty.no-ip.com/ & http://www.rapiddr3am.net
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   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", true));
	exit;
}

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


$page_title = 'Updating the database';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

echo '<table width="100%" cellspacing="1" cellpadding="2" border="0" class="forumline">';
echo '<tr><th>Updating the database</th></tr><tr><td><span class="genmed"><ul type="circle">';


$sql = array();
$sql[] = "ALTER TABLE " . $table_prefix . "users ADD user_info VARCHAR(255) AFTER user_interests";

for( $i = 0; $i < count($sql); $i++ )
{
	if( !$result = $db->sql_query ($sql[$i]) )
	{
		$error = $db->sql_error();

		echo '<li>' . $sql[$i] . '<br /> +++ <font color="#FF0000"><b>Error:</b></font> ' . $error['message'] . '</li><br />';
	}
	else
	{
		echo '<li>' . $sql[$i] . '<br /> +++ <font color="#00AA00"><b>Successful</b></font></li><br />';
	}
}


echo '</ul></span></td></tr><tr><td class="catBottom" height="28">&nbsp;</td></tr>';

echo '<tr><th>Installation Complete</th></tr><tr><td><span class="genmed">Please be sure to delete this file now.<br />If you require any further assistance, please visit the <a href="http://www.phpbbhacks.com/forums">phpBBHacks.com Support Forums</a>.</span></td></tr>';
echo '<tr><td class="catBottom" height="28" align="center"><span class="genmed"><a href="' . append_sid("index.$phpEx") . '">Go back to your index page</a>.</span></td></table>';

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>

Viele Grüße,
Bálint

Verfasst: 12.01.2007 23:30
von Tobro
Danke, die installation hat jetzt geklappt. trotzdem erscheint nach dem ändern der profildaten immernoch dieser fehler:
Allgemeiner Fehler

Could not update users table

DEBUG MODE

SQL Error : 1054 Unknown column 'user_Gewicht' in 'field list'

UPDATE phpbb_users SET user_email = 'meineemailadresse@gmx.net', user_icq = '233937917', user_website = '', user_occ = 'Beruf', user_from = 'Deutschland', user_interests = '', user_Gewicht = '20 Gramm', user_sig = '', user_sig_bbcode_uid = '', user_viewemail = 0, user_aim = '', user_yim = '', user_msnm = '', user_attachsig = 0, user_allowsmile = 1, user_allowhtml = 0, user_allowbbcode = 1, user_allow_viewonline = 1, user_notify = 0, user_notify_pm = 1, user_popup_pm = 1, user_timezone = 1, user_dateformat = 'd.m.Y, H:i', user_lang = 'german', user_style = 2, user_active = 1, user_actkey = '' WHERE user_id = 2

Line : 531
File : usercp_register.php

woran könnte es liegen?

danke, mfg

Verfasst: 12.01.2007 23:36
von Balint
Hallo!

Daran, daß das Script - wie von Dir im quote angeführt - ein Feld user_info und nicht user_Gewicht angelegt hat. Einfach diese Zeile ändern

Code: Alles auswählen

$sql[] = "ALTER TABLE " . $table_prefix . "users ADD user_Gewicht VARCHAR(255) AFTER user_interests";
Datei speichern, hochladen, ausführen. Sollte klappen. Glaub ich.


Viele Grüße,
Bálint

Verfasst: 13.01.2007 00:09
von Tobro
Hallo,

super, vielen Dank, jetzt funktioniert es! :grin:


MfG Tobro :cookie:

Verfasst: 23.01.2007 21:17
von Bravestarr
Ich habe das selbe Problem...

In welchen Ordner muss ich den die db_update.php speicher/ausführen?

Verfasst: 23.01.2007 21:26
von Balint
Hi!

Müßte IMHO ins root-Verzeichnis deines Forums...


Viele Grüße,
Bálint

Verfasst: 23.01.2007 21:36
von Bravestarr
hab ich gemacht, und die datei hab ich auch ausgeführt...es kommt aber immer noch folgender fehler:
Could not update users table

DEBUG MODE

SQL Error : 1054 Unknown column 'user_info' in 'field list'

UPDATE phpbb_users SET user_email = 'mailadresse@web.de', user_icq = '', user_website = '', user_occ = '', user_from = '', user_interests = '', user_info = '', user_sig = '', user_sig_bbcode_uid = '', user_viewemail = 1, user_aim = '', user_yim = '', user_msnm = '', user_attachsig = 0, user_allowsmile = 1, user_allowhtml = 0, user_allowbbcode = 1, user_allow_viewonline = 1, user_notify = 0, user_notify_pm = 1, user_popup_pm = 1, user_timezone = 1, user_dateformat = 'D d M, Y H:i', user_lang = 'german', user_style = 6, user_active = 1, user_actkey = '' WHERE user_id = 2

Line : 531
File : usercp_register.php
Wie mach ich das ganze MIT phpmyadmin?
Ich hab mir phpmyadmin heruntergeladen und entpackt...
Jetzt weiß ich aber nicht weiter...

EDIT: Root ist schon das Hauptverzeichniss, oder? Also da wo die ordner admin, cache, includes, language usw... drin sind?

Verfasst: 23.01.2007 22:01
von Balint
Bravestarr hat geschrieben:hab ich gemacht, und die datei hab ich auch ausgeführt...es kommt aber immer noch folgender fehler:
Could not update users table

DEBUG MODE

SQL Error : 1054 Unknown column 'user_info' in 'field list'

UPDATE phpbb_users SET user_email = 'mailadresse@web.de', user_icq = '', user_website = '', user_occ = '', user_from = '', user_interests = '', user_info = '', user_sig = '', user_sig_bbcode_uid = '', user_viewemail = 1, user_aim = '', user_yim = '', user_msnm = '', user_attachsig = 0, user_allowsmile = 1, user_allowhtml = 0, user_allowbbcode = 1, user_allow_viewonline = 1, user_notify = 0, user_notify_pm = 1, user_popup_pm = 1, user_timezone = 1, user_dateformat = 'D d M, Y H:i', user_lang = 'german', user_style = 6, user_active = 1, user_actkey = '' WHERE user_id = 2

Line : 531
File : usercp_register.php
Wie mach ich das ganze MIT phpmyadmin?
Ich hab mir phpmyadmin heruntergeladen und entpackt...
Jetzt weiß ich aber nicht weiter...

EDIT: Root ist schon das Hauptverzeichniss, oder? Also da wo die ordner admin, cache, includes, language usw... drin sind?
Root ist das Verzeichnis, wo z.B. viewtopic.php, viewforum.php und auch die admin/, includes/, template/ etc. drinliegen, ja.

Für die Fehlermeldung sehe ich eigentlich nur die Möglichkeit, daß das Skript eben doch nicht richtig ausgeführt wurde. Hast Du eine "Installation Complete"-Meldung bekommen?

Hier ist übrigens die Installaton von phpMyAdmin beschrieben:
http://www.phpbb.de/doku/kb/artikel.php ... phpmyadmin
(ist nicht ganz einfach und erfordert auch einige Features, die nicht auf jedem Webhost installiert sein müssen).


Viele Grüße,
Bálint

Verfasst: 23.01.2007 22:09
von Bravestarr
Also ich mache das ganze mit SmartFTP...

Die Datei upgeloadet und dann (auch von SmartFTP aus) ausgeführt...

Dazu sagt das Programm:
[22:06:05] PASV
[22:06:05] 227 Entering Passive Mode (213,202,225,55,233,160).
[22:06:05] Opening data connection to 213.202.225.55 Port: 59808
[22:06:05] RETR db_update.php
[22:06:05] 150 Opening BINARY mode data connection for db_update.php (3069 bytes)
[22:06:05] 3069 bytes transferred. (17,4 KB/s) (172 ms)
[22:06:05] 226 Transfer complete.
[22:06:05] MDTM db_update.php
[22:06:06] 213 20070123210536
[22:06:57] NOOP
[22:06:57] 200 NOOP command successful
[22:07:48] NOOP
Ist das eine Installationsbestätigung?

Ach und was mir noch aufgefallen ist...das Forum ist plötzlich auf Englisch, obwohl German eingestellt ist...

Ich hoffe du kannst was damit anfangen und schonmal danke für deine hilfe!