phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

FAQFAQ - PIERWSZA POMOC!!  regulaminREGULAMIN  SzukajSZUKAJ  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload  katalog Forów DyskusyjnychKatalog Forów   FAQ Video tutoriale

Poprzedni temat «» Następny temat
Prefiks tabel - problemy z wykonywaniem zapytań SQL
Autor Wiadomość
Majkelo



Pomógł: 1283 razy
Posty: 3081
Wysłany: 04-05-2012, 14:09   Prefiks tabel - problemy z wykonywaniem zapytań SQL

Podczas instalacji skryptu forum, mamy pole, gdzie możemy wpisać prefiks tabel:



Standardowo wpisany jest tam prefiks phpbb_. Następstwem tego jest to, że każda tabela w bazie będzie miała w nazwie przedrostek phpbb_. Jeśli zmienimy ten prefiks podczas instalacji skryptu, będziemy musieli zmieniać go podczas instalacji każdej modyfikacji, która wymaga wykonywania zapytań do SQL !
Jeśli tego nie zrobimy i podamy inny prefiks tabel, niż ten, który mamy w rzeczywistości, będziemy otrzymywali błędy typu:

Cytat:
SQL Error : 1146 Table 'nazwa_bazy.prefiks_nazwatabeli' doesn't exist


Jak pozbyć się tego błędu, aby instalacja modyfikacji przebiegła pomyślnie?

To proste. Musimy sprawdzić jaki prefiks tabel ma nasza baza danych. W tym celu możemy to zrobić na dwa sposoby:
a) otwierając plik config.php, który znajduje się w głównym katalogu forum. Po otwarciu go, zobaczymy m.in. dane do połączenia z naszą bazą danych. Będzie tam też zmienna $table_prefix = 'nasz_prefiks';, gdzie czerwony kolor to prefiks tabel w naszej bazie danych.
b) możemy też wejść przez przeglądarkę pod adres: http://TWOJA_STRONA.pl/dbloader/dbloader.php. Zobaczymy coś takiego:



Przy czym tekst w czerwonym prostokącie to nasz prefiks.

Jeśli zdobyliśmy już prefiks naszej bazy danych i jest on inny niż phpbb_, wystarczy zmienić go w zapytaniu do bazy danych. Przykładowo, mamy zapytanie:
Kod:
ALTER TABLE `phpbb_users` ADD `przykladowe_pole` tinyint(1) NOT NULL default '1';

Musimy zmienić w nim `phpbb_users` na poprawny prefiks, który przed chwilką znaleźliśmy. Jeśli przykładowo był to prefiks: phpbb_mojprefiks - powyższe zapytanie powinno mieć postać:
Kod:
ALTER TABLE `phpbb_mojprefiksusers` ADD `przykladowe_pole` tinyint(1) NOT NULL default '1';


Tak samo postępujemy w przypadku każdego innego zapytania ;)

________________________________________________________________________________


Jak zmienić swój prefiks na standardowy? http://www.przemo.org/php...p=736521#736521

demo2.PNG
Plik ściągnięto 95 raz(y) 36,11 KB

demo.png
Plik ściągnięto 92 raz(y) 27,81 KB

Ostatnio zmieniony przez Majkelo 01-12-2012, 12:40, w całości zmieniany 2 razy  
 
     
Gadatliwa Kasia 

   
dawido323

Posty: 30
Wysłany: 09-05-2012, 15:15   

Kod:
Nie mogę wykonać: ALTER TABLE `phpbb_grapphicforumusers` ADD `przykladowe_pole` tinyint(1) NOT NULL default '1'


co jest nie tak ?
 
     
Majkelo



Pomógł: 1283 razy
Posty: 3081
Wysłany: 09-05-2012, 15:21   

dawido323, wykonaj zapytanie z poziomu PHPMYADMIN. Treść tego błedu kompletnie nic nie mówi.
 
     
dawido323

Posty: 30
Wysłany: 09-05-2012, 15:24   

Wykonuję

Kod:
ALTER TABLE `phpbb_grapphiforumusers` ADD `przykladowe_pole` tinyint(1) NOT NULL default '1';
przez phpbbMyAdmin

Wyskakuje

Kod:
#1146 - Table 'grapphic_forum.phpbb_grapphiforumusers' doesn't exist
 
     
Majkelo



Pomógł: 1283 razy
Posty: 3081
Wysłany: 09-05-2012, 15:28   

dawido323 napisał/a:
ALTER TABLE `phpbb_grapphicforumusers` ADD `przykladowe_pole` tinyint(1) NOT NULL default '1';


W Twoim drugim zapytaniu jest literówka ;) Brak litery c.
 
     
dawido323

Posty: 30
Wysłany: 09-05-2012, 15:32   

nie zauważyłem, ale wyskakuje teraz taki błąd

Kod:
#1060 - Duplicate column name 'przykladowe_pole'
 
     
Majkelo



Pomógł: 1283 razy
Posty: 3081
Wysłany: 09-05-2012, 15:33   

dawido323, oznacza to, że pole jest już dodane do tabeli z userami ;] Kilka razy tego samego pola dodać nie można.
 
     
dawido323

Posty: 30
Wysłany: 09-05-2012, 15:40   

To co bym musiał zrobić, aby zmienić prefiks (nadal jest ten sam) ? Bo ja za bardzo się na tym nie znam.
 
     
Gadatliwa Kasia 

   
Majkelo



Pomógł: 1283 razy
Posty: 3081
Wysłany: 09-05-2012, 16:21   

Wykonaj zapytanie w PHPMYADMIN:

Kod:
RENAME TABLE `phpbb_advertisement` TO `phpbb_nowyprefiksadvertisement`;
RENAME TABLE `phpbb_adv_person` TO `phpbb_nowyprefiksadv_person`;
RENAME TABLE `phpbb_album` TO `phpbb_nowyprefiksalbum`;
RENAME TABLE `phpbb_album_cat` TO `phpbb_nowyprefiksalbum_cat`;
RENAME TABLE `phpbb_album_comment` TO `phpbb_nowyprefiksalbum_comment`;
RENAME TABLE `phpbb_album_config` TO `phpbb_nowyprefiksalbum_config`;
RENAME TABLE `phpbb_album_rate` TO `phpbb_nowyprefiksalbum_rate`;
RENAME TABLE `phpbb_anti_robotic_reg` TO `phpbb_nowyprefiksanti_robotic_reg`;
RENAME TABLE `phpbb_attachments` TO `phpbb_nowyprefiksattachments`;
RENAME TABLE `phpbb_attachments_config` TO `phpbb_nowyprefiksattachments_config`;
RENAME TABLE `phpbb_attachments_desc` TO `phpbb_nowyprefiksattachments_desc`;
RENAME TABLE `phpbb_attach_quota` TO `phpbb_nowyprefiksattach_quota`;
RENAME TABLE `phpbb_auth_access` TO `phpbb_nowyprefiksauth_access`;
RENAME TABLE `phpbb_banlist` TO `phpbb_nowyprefiksbanlist`;
RENAME TABLE `phpbb_birthday` TO `phpbb_nowyprefiksbirthday`;
RENAME TABLE `phpbb_categories` TO `phpbb_nowyprefikscategories`;
RENAME TABLE `phpbb_chatbox` TO `phpbb_nowyprefikschatbox`;
RENAME TABLE `phpbb_chatbox_session` TO `phpbb_nowyprefikschatbox_session`;
RENAME TABLE `phpbb_config` TO `phpbb_nowyprefiksconfig`;
RENAME TABLE `phpbb_disallow` TO `phpbb_nowyprefiksdisallow`;
RENAME TABLE `phpbb_extensions` TO `phpbb_nowyprefiksextensions`;
RENAME TABLE `phpbb_extension_groups` TO `phpbb_nowyprefiksextension_groups`;
RENAME TABLE `phpbb_forbidden_extensions` TO `phpbb_nowyprefiksforbidden_extensions`;
RENAME TABLE `phpbb_forums` TO `phpbb_nowyprefiksforums`;
RENAME TABLE `phpbb_forum_prune` TO `phpbb_nowyprefiksforum_prune`;
RENAME TABLE `phpbb_groups` TO `phpbb_nowyprefiksgroups`;
RENAME TABLE `phpbb_ignores` TO `phpbb_nowyprefiksignores`;
RENAME TABLE `phpbb_jr_admin_users` TO `phpbb_nowyprefiksjr_admin_users`;
RENAME TABLE `phpbb_logs` TO `phpbb_nowyprefikslogs`;
RENAME TABLE `phpbb_mass_email` TO `phpbb_nowyprefiksmass_email`;
RENAME TABLE `phpbb_pa_cat` TO `phpbb_nowyprefikspa_cat`;
RENAME TABLE `phpbb_pa_comments` TO `phpbb_nowyprefikspa_comments`;
RENAME TABLE `phpbb_pa_custom` TO `phpbb_nowyprefikspa_custom`;
RENAME TABLE `phpbb_pa_customdata` TO `phpbb_nowyprefikspa_customdata`;
RENAME TABLE `phpbb_pa_files` TO `phpbb_nowyprefikspa_files`;
RENAME TABLE `phpbb_pa_license` TO `phpbb_nowyprefikspa_license`;
RENAME TABLE `phpbb_pa_settings` TO `phpbb_nowyprefikspa_settings`;
RENAME TABLE `phpbb_pa_votes` TO `phpbb_nowyprefikspa_votes`;
RENAME TABLE `phpbb_portal_config` TO `phpbb_nowyprefiksportal_config`;
RENAME TABLE `phpbb_posts` TO `phpbb_nowyprefiksposts`;
RENAME TABLE `phpbb_posts_text` TO `phpbb_nowyprefiksposts_text`;
RENAME TABLE `phpbb_posts_text_history` TO `phpbb_nowyprefiksposts_text_history`;
RENAME TABLE `phpbb_privmsgs` TO `phpbb_nowyprefiksprivmsgs`;
RENAME TABLE `phpbb_privmsgs_text` TO `phpbb_nowyprefiksprivmsgs_text`;
RENAME TABLE `phpbb_quota_limits` TO `phpbb_nowyprefiksquota_limits`;
RENAME TABLE `phpbb_ranks` TO `phpbb_nowyprefiksranks`;
RENAME TABLE `phpbb_read_history` TO `phpbb_nowyprefiksread_history`;
RENAME TABLE `phpbb_search_results` TO `phpbb_nowyprefikssearch_results`;
RENAME TABLE `phpbb_search_wordlist` TO `phpbb_nowyprefikssearch_wordlist`;
RENAME TABLE `phpbb_search_wordmatch` TO `phpbb_nowyprefikssearch_wordmatch`;
RENAME TABLE `phpbb_sessions` TO `phpbb_nowyprefikssessions`;
RENAME TABLE `phpbb_sessions_keys` TO `phpbb_nowyprefikssessions_keys`;
RENAME TABLE `phpbb_shoutbox` TO `phpbb_nowyprefiksshoutbox`;
RENAME TABLE `phpbb_shoutbox_config` TO `phpbb_nowyprefiksshoutbox_config`;
RENAME TABLE `phpbb_smilies` TO `phpbb_nowyprefikssmilies`;
RENAME TABLE `phpbb_stats_config` TO `phpbb_nowyprefiksstats_config`;
RENAME TABLE `phpbb_stats_modules` TO `phpbb_nowyprefiksstats_modules`;
RENAME TABLE `phpbb_themes` TO `phpbb_nowyprefiksthemes`;
RENAME TABLE `phpbb_themes_name` TO `phpbb_nowyprefiksthemes_name`;
RENAME TABLE `phpbb_topics` TO `phpbb_nowyprefikstopics`;
RENAME TABLE `phpbb_topics_ignore` TO `phpbb_nowyprefikstopics_ignore`;
RENAME TABLE `phpbb_topics_watch` TO `phpbb_nowyprefikstopics_watch`;
RENAME TABLE `phpbb_topic_view` TO `phpbb_nowyprefikstopic_view`;
RENAME TABLE `phpbb_users` TO `phpbb_nowyprefiksusers`;
RENAME TABLE `phpbb_users_warnings` TO `phpbb_nowyprefiksusers_warnings`;
RENAME TABLE `phpbb_user_group` TO `phpbb_nowyprefiksuser_group`;
RENAME TABLE `phpbb_vote_desc` TO `phpbb_nowyprefiksvote_desc`;
RENAME TABLE `phpbb_vote_voters` TO `phpbb_nowyprefiksvote_voters`;
RENAME TABLE `phpbb_vote_results` TO `phpbb_nowyprefiksvote_results`;
RENAME TABLE `phpbb_words` TO `phpbb_nowyprefikswords`;


Cytat:
RENAME TABLE `phpbb_words` TO `phpbb_nowyprefikswords`;


Pamiętaj, że WSZYSTKIE prefiksy tabel, które masz po lewej stronie (zielone), zmieniasz na obecny prefiks, czyli phpbb_tabela zmieniasz na phpbb_grapphicforum, z kolei wszystkie prefiksy tabel, które masz po prawej stronie (czerwone), zmieniasz z: phpbb_nowyprefiksTABELA na phpbb_TABELA.
Jeśli wykonasz to zapytanie, musisz jeszcze wejść do pliku config.php, który znajduje się w głównym katalogu forum i zmienić w nim:
Kod:
$table_prefix = 'phpbb_grapphicforum';

na:
Kod:
$table_prefix = 'phpbb_';


Na końcu opróżnij jeszcze katalog cache w głównym katalogu forum i tym oto sposobem, powinieneś mieć standardowy prefiks tabel.

I najważniejsze:
W powyższym zapytaniu, zmiana nazwy zajdzie w tabelach podstawowych, które masz wgrywane podczas instalacji skryptu. Jeśli instalowałeś jakieś dodatkowe modyfikacje, które tworzyły nowe tabele - musisz zmienić też ich nazwy - prefiksy w ich nazwach.


Istnieje też gotowa modyfikacja, zmieniająca prefiks: http://www.przemo.org/php...pic.php?t=28008

PAMIĘTAJ!
Przed dokonaniem jakichkolwiek zmian, należy zrobić kopię bazy danych!
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!

Powered by phpBB modified by Przemo © 2003 phpBB
Strona wygenerowana w 0,11 sekundy. Zapytań do SQL: 14
Polecane serwisy

Najlepsze oprogramowanie do prowadzenia sklepu internetowegoNajlepszy program do sklepu firmowany przez Przem'a

Sklep z gadżetami

serwis laptopów

phpbb

Design Cart - Tworzenie sklepu internetowego

iRonin.IT

• Zamów reklamę