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>'):
}
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: