Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Varchar i wielkość bazy
Sil3nt
post 17.07.2008, 17:25:49
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 9.07.2008

Ostrzeżenie: (0%)
-----


Witam.
Czy jest różnica w ilości zajmowanego miejsca przez bazę danych pomiędzy polami typu varchar(50) a varchar(255) oraz text i longtext? Chodzi mi o to, śe maksymalna długosć wpisanego tekstu wprowadzonym w formularzu www to np. 40 znaków ale jeśli to są same znaki specjalne html to się wydłuży pięciokrotnie.


Przy okazji mam jeszcze jedno pytanie: jakie znaki trzeba escapować slashem (\) oprócz \,'," i `?

Ten post edytował Sil3nt 17.07.2008, 17:27:06
Go to the top of the page
+Quote Post
Kicok
post 17.07.2008, 19:39:33
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

Ostrzeżenie: (0%)
-----


varchar(50) - N + 1 bajtów
varchar(255) - N + 1 bajtów
text - N + 4 bajty
longtext - N + 4 bajty

Gdzie "N" to ilość znaków wprowadzanych do danego pola. Różnica jest tylko w maksymalnej ilości znaków które można do danego pola upchnąć. Jeżeli pole jest kodowane w utf-8 to np. polskie znaki będą zajmowały po 2 bajty, nie jeden.


Cytat
Przy okazji mam jeszcze jedno pytanie: jakie znaki trzeba escapować slashem (\) oprócz \,'," i `?


mysql_real_escape_string" title="Zobacz w manualu PHP" target="_manual - tej funkcji możesz zaufać ;]

Ten post edytował Kicok 17.07.2008, 19:40:29


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
Sil3nt
post 17.07.2008, 21:12:05
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 9.07.2008

Ostrzeżenie: (0%)
-----


Dzięki za pomoc.
Mam jeszcze jedno pytanie odnośnie funkcji mysql_real_escape_string - czy jeśli nie przechowuje informacji o połączeniu w zmiennej - nie zapisuje do zmiennej wartości zwracanej przez funkcję mysql_connect to i jeśli nie podam opcjonalnego drugiego argument to czy dunkcja sama użyje kodowania aktualnie połączonej bazy danych?

PS: czy polskie znaki zakodowane w utf-8 zajmują 2 miejsca w polu typu varchar czy tylko zajmują 2 bajty miejsca na dysku a są traktowane jako 1 znak?

Ten post edytował Sil3nt 17.07.2008, 21:14:03
Go to the top of the page
+Quote Post
Kicok
post 18.07.2008, 15:28:56
Post #4





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

Ostrzeżenie: (0%)
-----


mysql_real_escape_string" title="Zobacz w manualu PHP" target="_manual - parametry -> identyfikator połaczenia -> drugie zdanie


Cytat
PS: czy polskie znaki zakodowane w utf-8 zajmują 2 miejsca w polu typu varchar czy tylko zajmują 2 bajty miejsca na dysku a są traktowane jako 1 znak?


Jeden polski znak zakodowany w UTF-8 jest traktowany jako 1 znak i zajmuje 2 bajty


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:27