PostgreSQL с php — подробное введение

Требования для разработки и установки

Чтобы установить 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)

    Оцените статью
    nanomode.ru
    Добавить комментарий