|
|
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo
|
|
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! |
|
|
|
|
|
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
|
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,09 sekundy. Zapytań do SQL: 14 | |
|
|