Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]kropka i MySQL
Forum PHP.pl > Forum > Przedszkole
kahil
Witam,

Mam problem i nie potrafie sobie z nim poradzić mianowicie

jak dodaje do bazy np. "test.1" to potem jak wyszukuje np. "test_1" to znajduje to "test.1"

wiem że można to załatwić dodając "test\.1" ale jak to zrobić prosto? Addslashes, preg_quote itd nie działają! magic_quotes_gpc włączone...

Czy ktoś ma jakiś pomysł co jest nie tak?

Polej jest tak zdefiniowane:

VARCHAR( 250 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL



pozdro

Karol
wookieb
Kod
str_replace('.', '\.', $ciag);

To takie trudne?
http://php.net/str_replace
kahil
Niezupełnie chodziło mi o to - troche źle chyba pytanie postawiłem.

Chodzi o to że pierwszy raz mi się zdarza że przy wyszukiwaniu kropka nie nie jest brana jak kropka tylko jak dowolny znak.

Czy to coś z kodowaniem bazy, rodzajem pola? Czy może to normalne i nie da sie tego wyeliminować inaczej niż tym sposobem który wymieniłeś 

A teraz jeszcze odkryłem że to dotyczy tylko "_" czyli jak wyszukuje "test_1" to znajduje "test.1" ale jak wyszukuje np. "test=1" czy cokolwiek innego w ten desen to nic nie znajduje... o co ke pasa?
dr_bonzo
Pokaz SQLke wyszukiwania

  1. SELECT * FROM tab WHERE pole LIKE "test_1";


Przy like, podkreslenie to jest dokladnie jeden dowolny znak [% - dowolna ilosc znakow, 0 lub wiecej]

Uzyj:
  1. SELECT * FROM tab WHERE pole = "test_1";
Rude Dude
Dlatego wyciąga ci test.1 ponieważ znak _ w zapytaniu do mysql jest interpretowany jako dowolny znak, więc wyciągnie z bazy test(jeden dowolny znak)1.
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.