Различия

Показаны различия между двумя версиями страницы.


php-pgsql [2021/07/31 21:58] (текущий) – создано - внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== php-pgsql ======
 +  * [[https://www.php.net/manual/ru/book.pgsql.php|Расширение PHP для работы с базой PostgreSQL]]
  
 +Библиотека **php-pgsql** обеспечивает взаимодействие [[PHP]] с [[PostgreSQL]]. Рекомендуется вместо php-pgsql использовать [[PDO]]. <file bash>
 +# yum install php-pgsql
 +</file>
 +Существует два типа ресурсов используемых в модуле [[PostgreSQL]]. Первый из них представляет собой идентификатор соединения с базой данных, а второй ресурс необходим для хранения результата запроса.
 +
 +  * Для экранирования спецсимволов используется функция [[out>http://www.php.net/manual/ru/function.pg-escape-string.php|pg_escape_string()]].
 +  * [[out>https://www.php.net/manual/ru/function.pg-escape-string.php|pg_execute]] — запускает выполнение ранее подготовленного параметризованного запроса и ждет результа
 +
 +====== Пример: Класс для подключения к PostgreSQL ======
 +
 +<file php>
 +<?php
 +
 +class class_pgsql_conn {
 +
 +    private $dbHost = "localhost";
 +//    private $dbHost = "127.0.0.1";
 +    private $dbPort = 5432;
 +    private $dbName = "db";
 +    private $dbUser = "user";
 +    private $dbPassword = "password";
 +
 +    public function __construct() {
 +        
 +    }
 +
 +    public function status_conn() {
 +
 +
 +        $conn = "host={$this->dbHost} port={$this->dbPort} dbname={$this->dbName} user={$this->dbUser} password={$this->dbPassword}";
 +// var_dump($conn);
 +        $result = pg_connect($conn) or die("Невозможно соединиться с сервером {$this->dbHost}\n");
 +        return $result;
 +    }
 +
 +    public function toArray() {
 +        return (array) $this;
 +    }
 +}
 +?>
 +</file>Использование класса для подключения к PostgreSQL:
 +<file php>
 +<?php
 +include_once '../../core/class/pgsql_conn.php';
 +
 +$cl1 = new class_pgsql_conn();
 +
 +$query = "select * from pg_stat_activity";
 +$result = pg_query($cl1->status_conn(), $query) or die('Ошибка запроса: ' . pg_last_error());
 +$arr = pg_fetch_all($result);
 +print_r($arr);
 +?>
 +</file>

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!