Zmiana MySQL na PDO w PHP

Zmiana z PHP 5.4 na 5.6 oraz PHP Data Objects

Tego bloga z recenzjami audiobooków założyłem oczywiście z powodu miłości do książki mówionej. Uwielbiam słuchać i chciałem się podzielić swoimi przemyśleniami na ten temat oraz na tematy poruszane w książkach. Miałem jednak także drugi powód. Chciałem mieć stronę, na której mógłbym praktykować moje zdolności programistyczne. Jestem programistą samoukiem, co z jednej strony daje mi ogromną satysfakcję, bo sam się wyedukowałem do zawodu, który praktykuję. Z drugiej jednak strony od czasu do czasu zauważam luki w mojej wiedzy. Cóż - najlepszym sposobem uczenia się jest praktyka.

Od dłuższego czasu niewiele się zmieniło od strony skryptów. Robiłem poprawki tu i tam. Np. pracowałem ostatnio nad skryptem wybierającym kolejny artykuł po przewinięciu strony w dół. Były to jednak bardzo drobne zmiany. Teraz zostałem zmuszony do zmiany z PHP 5.4 na 5.6. Wydawałoby się, że różnica nie może być duża, a jednak. Ta zmiana oznacza, że musiałem przejść z używanej od lat standardowej biblioteki MySQL w PHP na coś innego. Najpierw próbowałem MySQLi, ale okazało się, że przez jakiś błąd w kodzie używanie mysqli_result::fetch_assoc zatrzymuje mi Apache'a. Chwilę poszukałem, ludzie mieli podobne problemy, ale rozwiązania nie znalazłem. Pewnie jest, nie szukałem zbyt głęboko. Była inna alternatywa - PDO. Spędziłem dzień na przepisywaniu kodu. Na szczęście praktycznie cały kontakt z bazą danych mam w jednej bibliotece, a więc zmian musiałem dokonać praktycznie tylko w jedym skrypcie. Największą różnicą jaka mi się rzuciła w oczy to fakt, że w PDO "przygotowuje się" zapytania, a potem je wykonuje. W standardowej bibliotece trzeba było pamiętać o zabezpieczeniu zapytań. Teraz robi to PDO. Można oczywiście użyć PDO::quote.

Po przepisaniu przełączyłem z 5.4 na 5.6 i wszystko zdaje się działać bez problemu. Dzięki tej zmianie uniknę dodatkowych kosztów serwera. Mój dostawca Fasthost zagroził mi, że od 17-go kwietnia będzie mi pobierał dodatkowe £6.34. Tak więc przeskakując na 5.6 zostałem zmuszony do nauki i chyba dobrze. Od dawna słyszałem, że standardowa biblioteka jest przestarzała. Ponieważ jednak działała nie miałem powodu do zmian. Teraz zostałem zmuszony finansowo.

Słowa kluczowe: programowanie
Autor artykułu:
Piotr Borowski
2017-03-28