db_install - Datei anstatt phpMyAdmin

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.
Tobro
Mitglied
Beiträge: 68
Registriert: 03.04.2005 18:01
Wohnort: Aalen

db_install - Datei anstatt phpMyAdmin

Beitrag 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:
Zuletzt geändert von Tobro am 13.01.2007 00:35, insgesamt 1-mal geändert.
www.phpbb.de - great
Benutzeravatar
Balint
Mitglied
Beiträge: 1815
Registriert: 25.01.2003 21:43
Wohnort: Stuttgart
Kontaktdaten:

Beitrag 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
Meine MODs für phpBB 2.x und phpBB 3.x!
Tobro
Mitglied
Beiträge: 68
Registriert: 03.04.2005 18:01
Wohnort: Aalen

Beitrag 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
Benutzeravatar
Balint
Mitglied
Beiträge: 1815
Registriert: 25.01.2003 21:43
Wohnort: Stuttgart
Kontaktdaten:

Beitrag 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
Meine MODs für phpBB 2.x und phpBB 3.x!
Tobro
Mitglied
Beiträge: 68
Registriert: 03.04.2005 18:01
Wohnort: Aalen

Beitrag von Tobro »

Hallo,

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


MfG Tobro :cookie:
Bravestarr
Mitglied
Beiträge: 15
Registriert: 22.01.2007 22:45

Beitrag von Bravestarr »

Ich habe das selbe Problem...

In welchen Ordner muss ich den die db_update.php speicher/ausführen?
Benutzeravatar
Balint
Mitglied
Beiträge: 1815
Registriert: 25.01.2003 21:43
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Balint »

Hi!

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


Viele Grüße,
Bálint
Meine MODs für phpBB 2.x und phpBB 3.x!
Bravestarr
Mitglied
Beiträge: 15
Registriert: 22.01.2007 22:45

Beitrag 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?
Benutzeravatar
Balint
Mitglied
Beiträge: 1815
Registriert: 25.01.2003 21:43
Wohnort: Stuttgart
Kontaktdaten:

Beitrag 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
Meine MODs für phpBB 2.x und phpBB 3.x!
Bravestarr
Mitglied
Beiträge: 15
Registriert: 22.01.2007 22:45

Beitrag 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!
Antworten

Zurück zu „Coding & Technik“