15052 skanuj0349 (3)

15052 skanuj0349 (3)



364 PHP i MySQL dla każdego

i f (!mysq1_select_db('test')){

echo('Wystąpił błąd podczas wyboru bazy danych: test<BR>'):

}

else{

echo('Została wybrana baza danych: test<BR>'):

}

1f(!mysql_close()){

echo('Wystąpił błąd podczas zamykania połączenia z serwerem MySQL...<BR>'):

}

el se{

echo('Połączenie z serwerem MySQL zostało zamknięte...<BR>'):

}

Problem polskich liter

Jeśli w naszej bazie będziemy przechowywać ciągi znaków zawierające polskie litery, musimy zadbać o to, aby były one prawidłowo obsługiwane. Problem ten omawialiśmy już w rozdziale 9. W przypadku współpracy z PHP jest podobnie; musimy zapewnić, aby zarówno serwer, jak i klient operowały na tym samym zestawie znaków. Należy się zatem upewnić, że:

1.    W pliku konfiguracyjnym my.ini, w sekcji mysąld, znajduje się wpis default--character-set wskazujący na odpowiednie kodowanie, np.: default-character-set=latin2, lub też serwer został uruchomiony z opcją --default-character-set.

2.    W pliku konfiguracyjnym php.ini znajduje się wpis default_charset wskazujący na odpowiednie kodowanie, np.: default_charset = ''iso-8859-2”.

3.    W sekcji HEAD kodu strony znajduje się znacznik META prawidłowo określający kodowanie strony, np.: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2”>.

Przykłady w dalszej części książki zakładają stosowanie zestawu znaków wedle standardu iso-8859-2.

Jeśli mimo takich ustawień dane pobierane z bazy są wyświetlane w przeglądarce nieprawidłowo (np. zamiast wszystkich lub tylko niektórych polskich znaków znajdują się znaki ?), należy sprawdzić, czy na pewno połączenie między serwerem a klientem zostało nawiązane w poprawnym standardzie. Można w tym celu wykorzystać fiinkcję mysql _cl i ent_encodi ng, która zwraca nazwę standardu kodowania nawiązanego połączenia. Sposób wykorzystania wymienionej funkcji został zaprezentowany na listingu 13.3.

Listing 13.3. Wykorzystanie funkcji mysqI_client_encoding    '_

<?php

if (!Sdb_lnk = @mysql_connect("locałhost". "php". "test")){ echo("Wystąpił błąd podczas próby połączenia z serwerem MySQI—<BR>'): exit:


Wyszukiwarka

Podobne podstrony:
skanuj0351 (2) 366 PHP i MySQL dla każdegoZapytania typu SELECT W przypadku zapytań typu SELECT funk
47437 skanuj0413 (3) 430 PHP i MySQL dla każdego $query = "SELECT Przywilejld FROM Uzytkownicy_
skanuj0492 510 PHP i MySQL dla każdego Jstart - (int) ((Spage - 1) * JpageSize): if(!mysq1_data_seek
30484 skanuj0460 (2) 478 PHP i MySQL dla każdego Do nawiązania połączenia jest wykorzystywana funkcj

więcej podobnych podstron