![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 20.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
dlaczego nie moge dodać rekordu do bazy danych MySQL gdzie w jednej z nazw kolumn występuje polski znak
np mam taką tabele tab: id|Tytuł|adres załóżmy że wszystkie pola oprócz id są VARCHAR i zapytanie Kod insert into `tab` (Tytuł,adres) values ('cośtam','cośtam2')
... w phpMyAdmin mi dodaje... tzn nie gdy wklejam sql'a ale jak korzystam z opcji "Dodaj" jak powinno wyglądać zapytanie? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 315 Pomógł: 1 Dołączył: 6.08.2003 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
No z tego co wiem nie wolno używać polskich znaczków do nazw baz, tabeli i pól.
Zmień na angielskie... PhpMyAdmin prawdopodobnie zamienia polskie znaki na ich odpowiedniki angielskie np. ł-->l |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 20.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat No z tego co wiem nie wolno używać polskich znaczków do nazw baz, tabeli i pól.
Zmień na angielskie... PhpMyAdmin prawdopodobnie zamienia polskie znaki na ich odpowiedniki angielskie np. ł-->l nie, PhpMyAdmon nie zmienia ł na l. Wyświetla mi poprawnie nazwe kolumny, można ją edytować i w ogóle... więc skoro w PhpMyAdmin się to u mnie też powinno ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 19.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Nazwy tabel w MySQL nie mogą zawierać krzaczków. Natomiast jeżeli przekazujesz dane zawierające np apostrofy lub inne znaki, które baza potraktuje jako zagrożenie użyj funkcji: "addslashes", która wstawi ukośnik i pozowili zapisać to do bazy. Aby potem poprawnie wyświetlić dane z bazy musisz pozbyć się ukośnika dla oglądającego. Tutaj z pomocą przyjdzie Ci funkcja "stripslashes"
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 20.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
ale ja już mam stworzoną tabele, i dodaje do bazy wiersz bez polskich znaków... w przykładzie one są "cośtam" ale ja jak dodaje rekord to ich nie mam.... !?
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 19.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Nadal ne ustaliliśmy, czy nazwa komórki tabeli jest pozbawiona krzaczków. Jeżeli jest bez krzaczków, to zobacz banalnie, czy masz zdefioniowane poprawne kodowanie znaków na stronie WWW. Jeżeli masz zdefioniowana bazę na poprawne iso-8859-2 a na stronie masz kodowanie w WINDZIE to możesz mieć problem lub jeżeli nie zdefiniowałeś kodowania. Problem może wystąpić również przy wysylaniu do bazy z formularza napisanego w java script. A może problem tkwi gdzie indziej, czyli niepoprawnemu poleceniu zapisania do bazy? Ale jak widzę napisaleś jednak, że jedna z komórek ma krzaczki w nazwie. Musisz zacząc od zmiany nazwy dla komórki.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 20.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Znalazłem rozwiązanie
jak do tej pory moje zapytanie wyglądało tak Kod insert into `tab` (Tytuł,adres) values ('cośtam','cośtam2')
to teraz tak: Kod insert into `tab` (`Tytuł`,`adres`) values ('cośtam','cośtam2')
i znaczki ` wszystko załatwiają ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 55 Pomógł: 0 Dołączył: 19.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Zgadza się. Chyba wszyscy zasugerowali się polskimi krzaczkami. Przeciez widać jak na dłoni, że zapis był błędny
![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 197 Pomógł: 0 Dołączył: 9.09.2003 Skąd: z Marsa Ostrzeżenie: (0%) ![]() ![]() |
gorgel na przyszłość polecam Ci stosować nazwy pól bez polksich znaków... bo problemy mogą się zacząc przy przenoszeniu skryptu na inny serwer
![]() Pozdro |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 13:24 |