Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Błąd mysql_fetch_array() gdy w zapytaniu sa polskie znaki
Rude Dude
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 23.07.2007

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


Mam taki oto problem.

Jeżeli $nick zawiera polskie znaki np. ó, ż w nazwie nicka przesłanego z formularza to otrzymuje komunikat o błędzie.


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Program Files\WebServ\httpd-users\NOWA_WERSJA\login.php on line 42

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\WebServ\httpd-users\NOWA_WERSJA\login.php on line 44

A to fragment kodu przesyłającego zapytanie.
  1. <?php
  2. $query = "SELECT id, haslo FROM uzytkownicy WHERE nick = '$nick'";
  3. $result = mysql_query($query);
  4. $czy_znaleziono = mysql_num_rows($result);
  5. ?>



Natomiast jeśli w $nick nie ma polskich znaków to zapytanie wykonuj się normalnie i nie mam żadnego komunikatu o błędzie.

Kodowanie w bazie danych mam na utf8_unicode_ci, a nagłówki ustawione na stronie wyglądają tak:

  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl" dir="ltr">
  4. <title>'.$tytul.'</title>
  5. <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
  6. <meta http-equiv="Content-Language" content="pl"/>


Nie wiem dlaczego ten błąd mi się pojawia tylko wtedy gdy podaje w formularzu jako nick słowo zawierające polskie litery. To samo dzieje sie w innych formularzach jeśli podam w nich polskie znaki. :/

Czy to dlatego że jest kodowanie utf8. Może mam źle ustawione nagłówki xhtml. Tylko jak mam je ustawić aby to ruszyło. A może to wina bazy danych. Używam localhosta webserv2.

Gdy wykonuje zapytanie przez phpmyadmin to działa normalnie.
  1. SELECT id, haslo FROM uzytkownicy WHERE nick = 'ósemka'


Proszę, może ktoś mi doradzi co mam zrobić?

Ten post edytował Rude Dude 14.07.2008, 21:46:59
Go to the top of the page
+Quote Post

Posty w temacie


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: 23.08.2025 - 22:52