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 6.01.2014, 19:23:01
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 6.01.2014, 19:49:26
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 6.01.2014, 19:57:26
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ę 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 wink.gif
Go to the top of the page
+Quote Post
Crozin
post 6.01.2014, 20:01:49
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 6.01.2014, 20:53:01
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ę wink.gif

Napisałem to przy okazji wink.gif
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: 12.07.2025 - 18:06