Требования для разработки и установки
Чтобы установить PostgreSQL в Linux и Windows, которые мы обсуждали здесь, подробно расскажите о процессе установки.
Вы можете использовать веб-сервер Apache , PHP, PostgreSQL и phpPgAdmin (отличный инструмент для управления проектами PHP-PostgreSQL) для создания базового веб-приложения.
Самый простой способ установить и реализовать все вышеупомянутое программное обеспечение — это установить стек WAPP (Windows, Apache, PostgreSQL, PHP). BITNAMI — это программный пакет, который предлагает пакет WAPP. Вы можете скачать его с «http://bitnami.org/learn_more/installers», и, дважды щелкнув файл установщика, он легко устанавливается в Windows. Во время установки он спрашивает, где его установить, а также запрашивает пароль, который позже потребуется для входа в phpPgAdmin.
Подключиться к PostgreSQL с помощью собственных функций PHP
Предположим, у нас есть следующая таблица (книга) в базе данных «postgres». Вот структура таблицы:
имя_столбца | is_nullable | data_type | character_maximum_length | numeric_precision | числовая_шкала --------------------- + ------------- + ------------- ------ + -------------------------- + ---------------- --- + --------------- book_id | НЕТ | характер меняющийся | 10 | | автор | ДА | характер меняющийся | 25 | | издатель | ДА | характер меняющийся | 25 | | date_of_publication | ДА | дата | | | цена | ДА | числовой | | 8 | 2
PHP предоставляет множество функций для работы непосредственно с базами данных PostgreSQL. Вот некоторые функции:
pg_connect : функция используется для открытия соединения PostgreSQL.
Версия : (PHP 4, PHP 5)
Синтаксис :
resource pg_connect (string $ connection_string [, int $ connect_type])
Параметры :
- connection_string: строка connection_string может быть пустой, чтобы использовать все параметры по умолчанию , или он может содержать один или несколько параметров, разделенных пробелом. В настоящее время распознаются ключевые слова параметров: host, hostaddr, port, dbname (по умолчанию значение user), user, password, connect_timeout, options, tty (игнорируется), sslmode, requiressl (устарело в пользу sslmode) и service. Какие из этих аргументов существуют, зависит от вашей версии PostgreSQL.
- connect_type: Если передается PGSQL_CONNECT_FORCE_NEW, то создается новое соединение, даже если connection_string идентично существующему соединению. Если задан PGSQL_CONNECT_ASYNC, то соединение устанавливается асинхронно. Затем состояние соединения можно проверить с помощью pg_connect_poll () или pg_connection_status ().
Возвращаемое значение : ресурс соединения PostgreSQL в случае успеха, FALSE при неудаче.
pg_query: Выполнить запрос
Версия : (PHP 4> = 4.2. 0, PHP 5)
Синтаксис :
resource pg_query ([resource $ connection], string $ query)
Параметры :
- connection: ресурс подключения к базе данных PostgreSQL. Когда соединение отсутствует, используется соединение по умолчанию. Соединение по умолчанию — это последнее соединение, выполненное pg_connect () или pg_pconnect ().
- query: оператор или операторы SQL, которые должны быть выполнены.
Возвращаемое значение : ресурс результата запроса в случае успеха или FALSE в случае ошибки.
Вставить данные в таблицу с PHP
Мы создадим HTML-форму и PHP-скрипт для вставки данных в таблицу «book». Вот код (имя файла insert.php):
Вставьте данные в PostgreSQL с помощью php - создание простого веб-приложения li {listt-style: none;} Введите информацию о книге
Идентификатор книги: Название книги: Автор: Издатель: Дата публикации: Цена (долл. США): php $ db = pg_connect ("host = localhost port = 5432 dbname = postgres user = postgres password = admin123"); $ query = "ВСТАВИТЬ ЗНАЧЕНИЯ книги ('$ _POST [bookid]', ' $ _POST [название книги] ',' $ _ POST [автор] ',' $ _ POST [publisher] ',' $ _ POST [dop] ',' $ _ POST [цена] ') "; $ result = pg_query ($ query); ?>
Вот как выглядит форма для вставки данных:
Используйте эту форму для ввода некоторых данных в таблицу «книга».
Получение и обновление данных с помощью PHP
На следующем шаге мы создадим форму, чтобы мы могли видеть детали бухгалтерских записей и обновлять существующие данные «книжный» стол. Для этого мы создадим форму, в которой пользователь может указать идентификатор книги, и она будет отображать всю информацию, хранящуюся в базе данных относительно этой конкретной книги.. Итак, вы узнаете, как получать данные из таблицы, как отображать эти данные с помощью PHP и как обновлять данные.
Вот код (имя файла enter-bookid):
Введите bookid для отображения данных - создание простого веб-приложения li {list-style : none;} Введите идентификатор книги и введите
Идентификатор книги: php $ db = pg_connect ("host = localhost port = 5432 dbname = postgres user = postgres password = admin123"); $ result = pg_query ($ db, "ВЫБРАТЬ * ИЗ книги, где book_id = '$ _POST [bookid]'"); $ row = pg_fetch_assoc ($ result); if (isset ($ _ POST ['submit'])) {echo »
Идентификатор книги: Название книги: Автор: Publisher: Дата публикации: Цена (долл. США):
";} if (isset ($ _ POST ['new'])) {$ result1 = pg_query ($ db," UPDATE book SET book_id = '$ _POST [bookid_updated]', book_name = '$ _POST [book_name_updated]', author = '$ _POST [author_updated]', publisher = '$ _POST [publisher_updated]', date_of_publication = '$ _POST [dop_updated]', price = '$ _POST [price_updated]' ") ; if (! $ result1) {echo "Обновление не удалось !!";} else {echo "Обновление выполнено успешно!";}}?>
Подключиться к PostgreSQL с помощью PDO (PHP Объекты данных)
Начиная с версии 5.1 PHP предоставляет новое соединение с базой данных abstrac ция, объекты данных PHP или PDO. PDO абстрагирует доступ к базе данных и позволяет использовать код, который может обрабатывать различные типы баз данных.
Используйте следующий код PHP для подключения к PostgreSQL и выбора базы данных. Замените $ dbname именем базы данных, $ dbuser своим именем пользователя и $ dbpass своим паролем.
Php $ dbuser = 'postgres'; $ dbpass = 'abc123' ; $ host = 'localhost'; $ dbname = 'postgres'; $ dbh = new PDO ("pgsql: host = $ host; dbname = $ dbname", $ dbuser, $ dbpass);?>
Обработка ошибок соединения:
Если есть какие-либо ошибки соединения, будет выдан объект PDOException. Вы можете перехватить исключение, если хотите обработать состояние ошибки, или оставить его глобальному обработчику исключений, который можно настроить с помощью set_exception_handler ().
Вот пример обработки ошибок:
php $ dbuser = 'postgres'; $ dbpass = 'abc123'; $ host = 'localhost'; $ dbname = 'postgres'; $ dbh = новый PDO ("pgsql: host = $ host; dbname = $ dbname", $ dbuser, $ dbpass, array (PDO :: ATTR_PERSISTENT => true));?>
Запрос:
После того, как код подключится к PostgreSQL и выберет базу данных, вы можете запускать SQL-запросы и выполнять другие операции. Например, следующий PHP-код запускает SQL-запрос, который извлекает имя, фамилию и страну (в порядке страны) из таблицы user_details и сохраняет результат в $ sql.
phptry {
$ dbuser = 'postgres'; $ dbpass = 'abc123'; $ host = 'localhost'; $ dbname = 'postgres';
$ Connec = новый PDO ("mysql: host = $ dbhost; dbname = $ dbname", $ dbuser, $ dbpass);} catch (PDOException $ e) {echo "Ошибка:". $ e-> getMessage (). "
"; die ();} $ sql = 'SELECT fname, lname, country FROM user_details ORDER BY country'; foreach ($ connec-> query ($ sql) as $ row) {print $ row [' fname ']. ""; напечатать $ row ['lname']. "->"; напечатать $ row ['страна']. "
";}?>
Итак, вы узнали, как вставлять данные из HTML-формы и как получать, отображать и обновлять данные в PostgreSQL с помощью PHP.
См. также: Внедрение SQL, Объекты данных PHP (PDO)