Краткое руководство. Использование PHP для подключения и запроса данных в База данных Azure для PostgreSQL — гибкий сервер
ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для PostgreSQL — гибкий сервер
В этом кратком руководстве показано подключение к База данных Azure для PostgreSQL с помощью приложения PHP. Здесь также показано, как использовать инструкции SQL для запроса, вставки, обновления и удаления данных в базе данных. В этой статье предполагается, что вы знакомы с разработкой с помощью PHP и не знакомы с База данных Azure для PostgreSQL.
Необходимые компоненты
В этом кратком руководстве используются ресурсы, созданные в экземпляре База данных Azure для PostgreSQL — гибкий сервер в качестве отправной точки.
Установка PHP
Установите PHP на сервере или создайте веб-приложение Azure, включающее PHP.
Windows
- Скачать версию PHP 7.1.4 nonthread safe (x64)
- Установите PHP и выполните настройку согласно инструкциям в руководстве по PHP.
- В коде используется класс pgsql (ext/php_pgsql.dll), который устанавливается с PHP.
- Включите расширение pgsql, изменив файл конфигурации php.ini. Как правило, он находится в папке
C:\Program Files\PHP\v7.1\php.ini
. Файл конфигурации должен содержать строку с текстомextension=php_pgsql.so
. Если он не отображается, добавьте текст и сохраните файл. Если текст присутствует, но закомментирован префиксом с запятой, раскомментируйте текст, удалив точку с запятой.
Linux (Ubuntu)
- Скачать версию PHP 7.1.4 nonthread safe (x64)
- Установите PHP и выполните настройку согласно инструкциям в руководстве по PHP.
- В коде используется класс pgsql (php_pgsql.so). Установите его, выполнив команду
sudo apt-get install php-pgsql
. - Включите расширение pgsql, изменив файл конфигурации
/etc/php/7.0/mods-available/pgsql.ini
. Файл конфигурации должен содержать строку с текстомextension=php_pgsql.so
. Если он не отображается, добавьте текст и сохраните файл. Если текст присутствует, но закомментирован префиксом с запятой, раскомментируйте текст, удалив точку с запятой.
macOS
- Скачайте PHP версии 7.1.4.
- Установите PHP и выполните настройку согласно инструкциям в руководстве по PHP.
Получение сведений о подключении
Получите сведения, необходимые для подключения к базе данных Azure.для PostgreSQL. Вам потребуется полное имя сервера и учетные данные для входа.
- Войдите на портал Azure.
- В меню слева в портал Azure выберите все ресурсы, а затем найдите созданный сервер (например mydemoserver).
- Выберите имя сервера.
- Запишите имя сервера и имя для входа администратора сервера с панели сервера Обзор. Если вы забыли свой пароль, можно также сбросить пароль с помощью этой панели.
Подключение и создание таблицы
Используйте следующий код для подключения и создания таблицы с помощью инструкции CREATE TABLE SQL, а затем инструкции INSERT INTO SQL для добавления строк в таблицу.
Метод вызова кода pg_connect() используется для подключения к База данных Azure для PostgreSQL. Затем вызывает метод - pg_query() несколько раз для выполнения нескольких команд и pg_last_error() для проверки сведений о том, произошла ли ошибка каждый раз. Затем вызывает метод pg_close(), чтобы закрыть соединение.
Замените $host
значения , $user
$database
и $password
параметры.
<?php
// Initialize connection variables.
$host = "mydemoserver.postgres.database.azure.com";
$database = "mypgsqldb";
$user = "mylogin@mydemoserver";
$password = "<server_admin_password>";
// Initialize connection object.
$connection = pg_connect("host=$host dbname=$database user=$user password=$password")
or die("Failed to create connection to database: ". pg_last_error(). "<br/>");
print "Successfully created a connection to the database.<br/>";
// Drop the previous table of the same name if one exists.
$query = "DROP TABLE IF EXISTS inventory;";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). "<br/>");
print "Finished dropping table (if existed).<br/>";
// Create table.
$query = "CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). "<br/>");
print "Finished creating table.<br/>";
// Insert some data into the table.
$name = '\'banana\'';
$quantity = 150;
$query = "INSERT INTO inventory (name, quantity) VALUES ($name, $quantity);";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). "<br/>");
$name = '\'orange\'';
$quantity = 154;
$query = "INSERT INTO inventory (name, quantity) VALUES ($name, $quantity);";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). "<br/>");
$name = '\'apple\'';
$quantity = 100;
$query = "INSERT INTO inventory (name, quantity) VALUES ($name, $quantity);";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error()). "<br/>";
print "Inserted 3 rows of data.<br/>";
// Closing connection
pg_close($connection);
?>
Чтение данных
Используйте указанный ниже код с инструкцией SQL SELECT для подключения и чтения данных.
Метод вызова кода pg_connect() используется для подключения к База данных Azure для PostgreSQL. Затем он вызывает метод pg_query() для выполнения команды SELECT, сохраняя результаты в результирующем наборе, и метод pg_last_error(), чтобы проверить сведения, если произошла ошибка. Чтобы считать данные результирующего набора, в цикле вызывается метод pg_fetch_row() для каждой строки. Данные строки извлекаются в виде массива $row
с одним значением данных для каждого столбца в каждой позиции массива. Чтобы освободить результирующий набор, вызывается метод pg_free_result(). После этого вызывается метод mysqli_close, чтобы разорвать подключение.
Замените $host
значения , $user
$database
и $password
параметры.
<?php
// Initialize connection variables.
$host = "mydemoserver.postgres.database.azure.com";
$database = "mypgsqldb";
$user = "mylogin@mydemoserver";
$password = "<server_admin_password>";
// Initialize connection object.
$connection = pg_connect("host=$host dbname=$database user=$user password=$password")
or die("Failed to create connection to database: ". pg_last_error(). "<br/>");
print "Successfully created a connection to the database. <br/>";
// Perform some SQL queries over the connection.
$query = "SELECT * from inventory";
$result_set = pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). "<br/>");
while ($row = pg_fetch_row($result_set))
{
print "Data row = ($row[0], $row[1], $row[2]). <br/>";
}
// Free result_set
pg_free_result($result_set);
// Closing connection
pg_close($connection);
?>
Обновление данных
Используйте указанный ниже код с инструкцией SQL UPDATE для подключения и обновления данных.
Метод вызова кода pg_connect() используется для подключения к База данных Azure для PostgreSQL. Затем он вызывает метод pg_query(), чтобы выполнить команду, и метод pg_last_error(), чтобы проверить сведения, если произошла ошибка. После этого вызывается метод mysqli_close, чтобы разорвать подключение.
Замените $host
значения , $user
$database
и $password
параметры.
<?php
// Initialize connection variables.
$host = "mydemoserver.postgres.database.azure.com";
$database = "mypgsqldb";
$user = "mylogin@mydemoserver";
$password = "<server_admin_password>";
// Initialize connection object.
$connection = pg_connect("host=$host dbname=$database user=$user password=$password")
or die("Failed to create connection to database: ". pg_last_error(). ".<br/>");
Print "Successfully created a connection to the database. <br/>";
// Modify some data in a table.
$new_quantity = 200;
$name = '\'banana\'';
$query = "UPDATE inventory SET quantity = $new_quantity WHERE name = $name;";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). ".<br/>");
print "Updated 1 row of data. </br>";
// Closing connection
pg_close($connection);
?>
Удаление данных
Используйте указанный ниже код с инструкцией SQL DELETE для подключения и чтения данных.
Метод вызова кода pg_connect() используется для подключения к База данных Azure для PostgreSQL. Затем он вызывает метод pg_query(), чтобы выполнить команду, и метод pg_last_error(), чтобы проверить сведения, если произошла ошибка. После этого вызывается метод mysqli_close, чтобы разорвать подключение.
Замените $host
значения , $user
$database
и $password
параметры.
<?php
// Initialize connection variables.
$host = "mydemoserver.postgres.database.azure.com";
$database = "mypgsqldb";
$user = "mylogin@mydemoserver";
$password = "<server_admin_password>";
// Initialize connection object.
$connection = pg_connect("host=$host dbname=$database user=$user password=$password")
or die("Failed to create connection to database: ". pg_last_error(). ". </br>");
print "Successfully created a connection to the database. <br/>";
// Delete some data from a table.
$name = '\'orange\'';
$query = "DELETE FROM inventory WHERE name = $name;";
pg_query($connection, $query)
or die("Encountered an error when executing given sql statement: ". pg_last_error(). ". <br/>");
print "Deleted 1 row of data. <br/>";
// Closing connection
pg_close($connection);
?>
Очистка ресурсов
Чтобы очистить все ресурсы, используемые во время этого краткого руководства, удалите группу ресурсов с помощью следующей команды:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes
Связанный контент
- Управление База данных Azure для PostgreSQL — гибкий сервер.
- Краткое руководство. Использование Python для подключения и запроса данных из экземпляра База данных Azure для PostgreSQL гибкого сервера.
- Краткое руководство. Использование Java для подключения и запроса данных из экземпляра База данных Azure для PostgreSQL гибкого сервера.
- Краткое руководство. Использование .NET (C#) для подключения и запроса данных из экземпляра База данных Azure для PostgreSQL гибкого сервера.
- Краткое руководство. Использование языка Go для подключения и запроса данных из экземпляра База данных Azure для PostgreSQL гибкого сервера.
- Краткое руководство. Использование Azure CLI для подключения и запроса данных из экземпляра База данных Azure для PostgreSQL гибкого сервера.
- Краткое руководство. Импорт данных из База данных Azure для PostgreSQL — гибкий сервер в Power BI.