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:
Класи PDO
Нижче наведено три класи PDO:
Бази даних, що підтримуються PDO
- MySQL
- PostgreSQL
- Оракул
- Жар-птиця
- MS SQL Server
- Sybase
- Informix
- IBM
- FreeTDS
- SQLite
- Кубрід
- 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.
Примітка. Тут ми обговоримо процес встановлення лише для ОС Windows.
крок 2: Установіть сервер XAMPP у вашій системі, виконавши ці кроки.
крок 3: Виберіть компоненти, які ви хочете встановити, і натисніть кнопку Далі.
крок 4: Створіть нову папку з іменем xampp у місці, де ви хочете інсталювати XAMPP.
крок 5: Натисніть «Далі» тут і рухайтеся вперед. Звідси почнеться встановлення сервера XAMPP.
Крок 6: XAMPP успішно встановлено. Натисніть кнопку Готово.
Крок 7: Виберіть потрібну мову.
Крок 8: Запустіть сервер Apache і MySQL звідси (відповідно до наведеного знімка екрана).
Крок 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 тут.
Підключення до бази даних
Для взаємодії з базою даних завжди потрібне підключення до бази даних. Отже, нам потрібно знати ідентифікатор для доступу до бази даних, тобто розташування бази даних, ім’я бази даних, ім’я користувача та пароль.
replaceall у рядку java
Тепер створіть програму підключення до бази даних за допомогою PDO в будь-якому текстовому редакторі, наприклад блокноті або блокноті++, і збережіть її під назвою coonection.php. Запустіть його на сервері XAMPP за допомогою localhost/80.
приклад
getMessage(); } ?>
Вихід
Запустіть його на сервері за наступною URL-адресою localhost/Xampp/pdoexample/connection.php/ або де ви зберегли свою програму.
Помилка обробки підключення
Об’єкт 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(); } ?>
Закриття підключення до бази даних
getMessage(); } // this command close the connection. $dbConn = null; ?>
Вихід