Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: polskie znaki
Forum PHP.pl > Forum > Bazy danych > MySQL
gorgel
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?
s_w_ir
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
gorgel
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 smile.gif tylko jak?
switch
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"
gorgel
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.... !?
switch
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.
gorgel
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ą smile.gif
switch
Zgadza się. Chyba wszyscy zasugerowali się polskimi krzaczkami. Przeciez widać jak na dłoni, że zapis był błędny laugh.gif
cichy
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 winksmiley.jpg

Pozdro
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.