Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]porównanie stringów z bazy
jakis_login
post
Post #1





Grupa: Zarejestrowani
Postów: 169
Pomógł: 1
Dołączył: 30.09.2010
Skąd: Gdańsk

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


Witam
Mam baze danych w mysql a w niej kilka tabel. Z jednej tabeli wyciągam pewien rekord i porównuje z innym rekordem z innej tabeli. Obie tabele są w jednakowym kodowaniu. Gdy wyświetlę obie wartości to obie wyświetlają się na stronie jednakowo. Jednak gdy chce porównać je w taki sposób:

  1. <?php
  2.  
  3. $wartosc_z_bazy_tabela_1 = $row['wartosc1']; //zwraca taki tekst: oświetlenie awaryjne
  4.  
  5. $wartosc_z_bazy_tabela_2 = $row['wartosc2']; //zwraca taki tekst: oświetlenie awaryjne
  6.  
  7. if($wartosc_z_bazy_tabela_1 == $wartosc_z_bazy_tabela_2)
  8. echo 'znalazl';
  9. else
  10. echo 'nie znalazl';
  11.  
  12. ?>


to zawsze mi pokazuje ze nie znalazl. O co kaman? Dodam ze jak w bazie usunę z obu tabel znak ś to mi działa, pliki też mam jednakowo kodowane.

Ten post edytował jakis_login 6.01.2014, 19:25:48
Go to the top of the page
+Quote Post
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  1. if($wartosc_z_bazy_tabela_1 === $wartosc_z_bazy_tabela_2)


a kodowanie pliku w utf-8 bez bom jest?

Ten post edytował Turson 6.01.2014, 19:50:14
Go to the top of the page
+Quote Post
Wazniak96
post
Post #3





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


Turson skoro operator równości wyrzuca mu to dlaczego ma działać mu operator identyczności? Dla mnie to trochę nie logiczne ale może się mylę (IMG:style_emoticons/default/wink.gif)

dla upewnienia się, że kodowania na pewno są identyczne zaraz po połączeniu się z bazą wklep zapytanie:
  1. ALTER DATABASE `nazwa_bazy` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci

Powinno pomóc (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. Skoro problemem jest znak "ś" zapewne kodowanie jest różne.
2. Pamiętaj, że Unikod może być zapisany na wiele sposobów i powinieneś go znormalizować przed zapisem do bazy danych: http://php.net/manual/en/class.normalizer.php
Go to the top of the page
+Quote Post
Turson
post
Post #5





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Cytat(Wazniak96 @ 6.01.2014, 19:57:26 ) *
Turson skoro operator równości wyrzuca mu to dlaczego ma działać mu operator identyczności? Dla mnie to trochę nie logiczne ale może się mylę (IMG:style_emoticons/default/wink.gif)

Napisałem to przy okazji (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.08.2025 - 14:53