logo

Вступ до PHP PDO

PHP — це мова сценаріїв загального призначення з відкритим кодом, яка широко використовується для створення динамічних та інтерактивних веб-сторінок. PHP може отримати доступ до великої кількості систем керування реляційними базами даних, таких як MYSQL, SQLite , і PostgreSQL . The PHP 5.1 версія пропонує нову бібліотеку абстракцій підключення до бази даних, яка є Об’єкти даних PHP (PDO).

Що таке PDO?

PDO відноситься до Об’єкт даних PHP , яке є розширенням PHP, яке визначає легкий і послідовний інтерфейс для доступу до бази даних у PHP. Це набір розширень PHP, які забезпечують базовий клас PDO та драйвер для бази даних. Кожен драйвер бази даних може надавати специфічні функції бази даних як звичайну функцію розширення, яка реалізує інтерфейс PDO.

Примітка. Ми не можемо виконувати будь-які функції бази даних, використовуючи саме розширення PDO. Щоб отримати доступ до сервера бази даних, ми повинні використовувати драйвер PDO для бази даних.

PDO в основному зосереджується на абстракції доступу до даних, а не на абстракції бази даних. Це забезпечує рівень абстракції доступу до даних , що означає, незалежно від того, яку базу даних ми використовуємо, ми повинні використовувати ті самі функції, які надає ця база даних, щоб надсилати запити та отримувати дані. PDO не забезпечує абстракції даних, оскільки не переписує SQL і не емулює відсутні функції.

Перевага PDO

PDO надає різні способи роботи з об’єктами та отримує підготовлені оператори, що значно полегшує роботу. Це інструмент доступу до бази даних у PHP, за допомогою якого ми забезпечуємо однорідний доступ до кількох баз даних.

PDO дозволяє відносно легко перемикатися між різними базами даних і платформами, що можна легко зробити, змінивши рядок підключення. Він не підтримує синтаксис бази даних.

sql server pivot

Є деякі переваги PDO, а саме:

рядок для char
    Підтримка бази даних
    Розширення PDO може отримати доступ до будь-якої бази даних, яка написана для драйвера PDO. Доступно кілька драйверів PDO, які використовуються для FreeTDS, Microsoft SQL Server, Sybase, IBM DB2, Oracle Call Interface, Firebird/Interbase 6 , і PostgreSQL бази даних, серед багатьох інших.
    Драйвери не доступні в кожній системі автоматично, тому ми повинні знайти наші доступні драйвери та додати їх, коли вони нам потрібні.Підключення бази даних
    Для встановлення з’єднання з базою даних доступні різні синтаксиси. Ці синтаксиси залежать від конкретних баз даних. Під час використання PDO операції повинні бути загорнуті в блоки try/catch і використовувати техніку винятків.
    Зазвичай потрібно створити лише одне з’єднання, і ці з’єднання закриваються шляхом програмування бази даних, щоб встановити значення null.Обробка помилок
    PDO дозволяє використовувати винятки для обробки помилок. Щоб створити виняток, PDO можна примусово перевести у відповідний атрибут режиму помилки.
    Є три режими помилки, тобто Мовчазний (за замовчуванням), УВАГА , і Виняток . Попередження та виняток більш корисні в програмуванні DRY.
      Мовчазний- Це стандартний режим помилок.УВАГА- Це корисно для налагодження.Виняток- Цей режим дозволяє витончено обробляти помилки, приховуючи дані, які людина може використати для використання вашої системи.
    Вставити та оновити
    PDO скорочує зазвичай використовувані операції вставки та оновлення бази даних до двоетапного процесу, тобто.
    Підготувати >> [Прив’язати] >> Виконати.
    Завдяки цьому методу ми можемо повною мірою скористатися підготовленими операторами PDO, які захищають від зловмисних атак через впровадження SQL.
    Підготовлені оператори — це попередньо скомпільовані оператори SQL, які можна виконувати кілька разів, надсилаючи ці дані на сервер. Ці дані, які використовуються в заповнювачі, автоматично захищені від SQL-атаки.

Переваги використання PDO

PDO — це рідний драйвер бази даних. Нижче наведено деякі переваги використання PDO:

    Юзабіліті- Він містить багато допоміжних функцій для виконання автоматичних рутинних операцій.Багаторазове використання- Він пропонує уніфікований API для доступу до кількох баз даних.Безпека- Він використовує підготовлений оператор, який захищає від впровадження SQL. Підготовлений оператор — це попередньо скомпільований оператор SQL, який відокремлює інструкцію оператора SQL від даних.

Класи PDO

Нижче наведено три класи PDO:

    PDO- Це зв'язок між PHP і базою даних.PDOStatement- Він представляє підготовлений оператор і після виконання оператора встановлює пов’язаний результат.PDOException- Він представляє помилки, викликані PDO.

Бази даних, що підтримуються PDO

  1. MySQL
  2. PostgreSQL
  3. Оракул
  4. Жар-птиця
  5. MS SQL Server
  6. Sybase
  7. Informix
  8. IBM
  9. FreeTDS
  10. SQLite
  11. Кубрід
  12. 4D

Порівняння між PDO та MySQLi

Щоб отримати доступ до бази даних за допомогою PHP, у нас є два варіанти: MySQLi і PDO (Об’єкт даних PHP). MySQLi є нативним для PHP, який забезпечує більшу продуктивність, тоді як більшість досвідчених розробників вважають за краще працювати з PDO, оскільки він підтримує широкий спектр драйверів бази даних. Існують деякі відмінності між PDO та MySQLi, перелічені нижче, залежно від їхніх особливостей.

Особливості PDO MySQLi
Підтримка БД 12 різних драйверів Тільки MySQL
Підключення легко легко
API ВІДЧИНЕНО ООП + Процедура
Продуктивність швидко швидко
Іменований параметр Так Немає
Відображення об'єктів Так Так
Збережена процедура Так Так
Заяви, підготовлені на стороні клієнта Так Немає
Безпека Більш безпечний, ніж MySQLi. Безпечний, але не більше PDO.

Що слід віддати перевагу між PDO чи MySQLi?

І PDO, і MySQLi мають свої переваги:

  • Як ми бачили раніше, PDO працює на 12 різних системах баз даних, тоді як MySQL може працювати лише з базою даних MySQL. Отже, якщо ми хочемо переключити наш проект на іншу базу даних, PDO спрощує це. У MySQLi ми повинні переписати весь код.
  • PDO і MySQLi є об’єктно-орієнтованими, але MySQLi також пропонує процедурний API. Обидва підтримують Prepared Statements. Підготовлені заяви важливі для безпеки веб-додатків, оскільки вони захищають від впровадження SQL.

Вимога

Для створення цього розширення не потрібні зовнішні бібліотеки.

ліве з’єднання проти правого з’єднання

Процес встановлення

Крок 1: Завантажте останню версію сервера XAMPP звідси https://www.apachefriends.org/download.html для різних платформ, таких як Windows, Linux і MacOS.

Phppdo

Примітка. Тут ми обговоримо процес встановлення лише для ОС Windows.

крок 2: Установіть сервер XAMPP у вашій системі, виконавши ці кроки.

Phppdo

крок 3: Виберіть компоненти, які ви хочете встановити, і натисніть кнопку Далі.

Phppdo

крок 4: Створіть нову папку з іменем xampp у місці, де ви хочете інсталювати XAMPP.

Phppdo

крок 5: Натисніть «Далі» тут і рухайтеся вперед. Звідси почнеться встановлення сервера XAMPP.

Phppdo

Крок 6: XAMPP успішно встановлено. Натисніть кнопку Готово.

Phppdo

Крок 7: Виберіть потрібну мову.

Phppdo

Крок 8: Запустіть сервер Apache і MySQL звідси (відповідно до наведеного знімка екрана).

Phppdo

Крок 9: Тепер відкрийте php.ini з C:/xampp/php/php.ini (де ви встановили XAMPP) і розкоментуйте розширення 'php_pdo_mysql.dll' і 'php_pdo.dll' (якщо ви працюєте з базою даних MySQL), або 'php_pdo_oci.dll' (якщо ви працюєте з базою даних Oracle). Тепер приступайте до роботи з базою даних. У старшій версії PHP 5.1 він уже встановлений.

дата javascript

Робота з PDO

По-перше, нам потрібно створити базу даних, тому створіть базу даних під назвою myDB тут.

Phppdo

Підключення до бази даних

Для взаємодії з базою даних завжди потрібне підключення до бази даних. Отже, нам потрібно знати ідентифікатор для доступу до бази даних, тобто розташування бази даних, ім’я бази даних, ім’я користувача та пароль.

replaceall у рядку java

Тепер створіть програму підключення до бази даних за допомогою PDO в будь-якому текстовому редакторі, наприклад блокноті або блокноті++, і збережіть її під назвою coonection.php. Запустіть його на сервері XAMPP за допомогою localhost/80.

приклад

 getMessage(); } ?> 

Вихід

Запустіть його на сервері за наступною URL-адресою localhost/Xampp/pdoexample/connection.php/ або де ви зберегли свою програму.

Phppdo

Помилка обробки підключення

Об’єкт PDOException буде створено, якщо виникне будь-яка помилка з’єднання. Ми можемо перехопити виняток, якщо хочемо обробити стан помилки, або ми також можемо залишити це глобальному обробнику винятків, який можна налаштувати за допомогою set_exception_handler() функція.

приклад

У цьому прикладі dbUser(user-id) неправильний, тому він викличе виняток, як ми бачимо у виведених даних.

 setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Echo 'Successfully connected with myDB database'; } catch(Exception $e){ Echo 'Connection failed' . $e->getMessage(); } ?> 
Phppdo

Закриття підключення до бази даних

 getMessage(); } // this command close the connection. $dbConn = null; ?> 

Вихід

Phppdo