PHP-PDO - połączenie z bazą
Stronę tą wyświetlono już: 5832 razy
Połączenie z bazą danych i przechwytywanie wyjątków
Połączenie się z bazą danych za pomocą PDO jest bardzo prost i polega na zwykłym utworzeniu obiektu tej klasy w sposób pokazany na Listingu 1.
- <?php
- $mysql_host = 'localhost'; //tutaj jest localhost ale może być adres do bazy danych
- $port = '3306'; // domyślny numer portu
- $username = 'login';
- $password = 'hasło';
- $database = 'nazwa_bazy';
- try{
- $pdo = new PDO('mysql:host=' . $mysql_host . ';dbname=' . $database . ';port=' . $port . ";charset=utf8", $username, $password );
- echo('<p>Houston mamy połączenie!</p>');
- }catch(PDOException $e){
- echo('<p>Houston mamy problem! Nie możemy się połączyć!</p>');
- die(); // Nie połączyłeś się? To nie ma co robić nic więcej!
- }
- ?>
Konstruktor klasy PDO przyjmuje następujące parametry:
- pierwszy argument opisuje rodzaj bazy danych (np. mysql) następnie nazwa hosta (np. host=localhost); nazwa bazy danych (np. po średniku dbname=nazwa_bazy) i numer portu (np. domyślny port=3306). Do tego można (opcjonalnie) dodać inne elementy związane z ustawieniami połączenia, np. ustawienie kodowania znaków charset=utf8;
- nazwa użytkownika;
- toje hasło
Gdyby wykonać połączenie w taki sposób:
- $pdo = new PDO('mysql:host=' . $mysql_host . ';dbname=' . $database . ';port=' . $port . ";charset=utf8", $username, $password ) or die();
to Twoje dane logowania zostałyby wyświetlone i dostępne publicznie dla każdej osoby, która akurat przegląda Twoją stronę co prowadzi do ujawnienia twoich danych takich jak hasło czy nazwa użytkownika. Dlatego w listingu 1 wykorzystane zostało przechwytywanie wyjątków.
Stałe połączenie z bazą danych
Czasami dużo lepiej jest nie niszczyć połączenia z bazą danych za każdym razem, gdy skrypt na Twojej stronie się wykona. W tym celu należy ustanowić połączenie stałe, które zostanie wykorzystana przy kolejnym wywołaniu jakiegoś skryptu. Połączenie tego typu można ustanowić w następujący sposób:
- $pdo = new PDO('mysql:host=' . $mysql_host . ';dbname=' . $database . ';port=' . $port . ";charset=utf8", $username, $password, array(
- PDO::ATTR_PERSISTENT => true
- ));

Tytuł:
PHP 8 i SQL. Programowanie dla początkujących w 43 lekcjach
Autor:
Mariusz Duka

Tytuł:
CodeIgniter 4. Zaawansowane tworzenie stron WWW w PHP
Autor:
Łukasz Sosna

Tytuł:
PHP 7 MySQL 8 i Maria DB Praktyczny podręcznik
Autor:
Steve Prettyman, Adrian W. West

Tytuł:
PHP i MySQL. Dynamiczne strony WWW. Szybki start. Wydanie V
Autor:
Larry Ullman

Tytuł:
PHP 7. Algorytmy i struktury danych
Autor:
Mizanur Rahman

Tytuł:
PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie V
Autor:
Luke Welling, Laura Thomson

Tytuł:
PHP i jQuery. Techniki zaawansowane. Wydanie II
Autor:
Keith Wald, Jason Lengstorf

Tytuł:
Laravel 4. Podstawy tworzenia aplikacji w PHP
Autor:
Raphaël Saunier

Tytuł:
Magento. Przewodnik dla programistów PHP
Autor:
Allan MacGregor

Tytuł:
JavaScript dla programistów PHP
Autor:
Stoyan Stefanov