التشغيل السريع: استخدم PHP للاتصال والاستعلام عن البيانات في قاعدة بيانات Azure لـ PostgreSQL - خادم واحد

ينطبق على: قاعدة بيانات Azure لـ PostgreSQL - خادم واحد

هام

قاعدة بيانات Azure ل PostgreSQL - خادم واحد على مسار التقاعد. نوصي بشدة بالترقية إلى Azure Database for PostgreSQL - Flexible Server. لمزيد من المعلومات حول الترحيل إلى قاعدة بيانات Azure ل PostgreSQL - خادم مرن، راجع ما يحدث لقاعدة بيانات Azure لخادم PostgreSQL الفردي؟.

يوضح هذا التشغيل السريع كيفية الاتصال بقاعدة بيانات Azure ل PostgreSQL باستخدام تطبيق PHP . توضح طريقة استخدام عبارات SQL الاستعلام عن البيانات وإدراجها وتحديثها وحذفها في قاعدة البيانات. تفترض الخطوات الواردة في هذه المقالة أنك على دراية بالتطوير باستخدام PHP، وأنك حديث العهد بالعمل مع قاعدة بيانات Azure لـ PostgreSQL.

المتطلبات الأساسية

يستخدم هذا البدء السريع الموارد التي تم إنشاؤها في أي من هذه الأدلة كنقطة بداية:

تثبيت PHP

قم بتثبيت PHP على الخادم الخاص بك، أو قم بإنشاء تطبيق Azure على الويب يشتمل على PHP.

Windows

  • تنزيل إصدار PHP 7.1.4 غير مؤشر ترابط آمن (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 غير مؤشر ترابط آمن (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

الحصول على معلومات الاتصال

الحصول على معلومات الاتصال المطلوبة للاتصال بقاعدة بيانات Azure لـ PostgreSQL. أنت بحاجة إلى اسم الخادم المؤهل بالكامل وبيانات اعتماد تسجيل الدخول.

  1. سجّل الدخول إلى مدخل Azure.
  2. من القائمة اليسرى في مدخل Azure، انقر فوق كافة الموارد،ثم ابحث عن الخادم الذي أنشأته (مثل mydemoserver).
  3. حدد اسم الخادم.
  4. من لوحة نظرة عامة على الخادم، دوّن ملاحظة عن اسم الخادم واسم تسجيل دخول مسؤول الخادم. إذا نسيت كلمة المرور، يمكنك أيضًا إعادة تعيين كلمة المرور من هذه اللوحة. اسم خادم Azure Database for PostgreSQL

توصيل جدول وإنشائه

استخدم التعليمات البرمجية التالية لتوصيل وإنشاء جدول باستخدام عبارة CREATE TABLE SQL، متبوعة بعبارات INSERT INTO SQL لإضافة صفوف إلى الجدول.

أسلوب استدعاء التعليمات البرمجية pg_connect() للاتصال بقاعدة بيانات Azure ل PostgreSQL. ثم يستدعي الأسلوب pg_query() عدة مرات لتشغيل عدة أوامر، pg_last_error () للتحقق من التفاصيل إذا حدث خطأ في كل مرة. ثم يستدعي الأسلوب pg_close() لإغلاق الاتصال.

استبدل المعلمات $host و$database و$user و$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 connection to database.<br/>";

	// Drop previous table of 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 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.

أسلوب استدعاء التعليمات البرمجية pg_connect() للاتصال بقاعدة بيانات Azure ل PostgreSQL. ثم يستدعي الأسلوب pg_query() لتشغيل الأمر SELECT، مع الاحتفاظ بالنتائج في مجموعة نتائج، pg_last_error () للتحقق من التفاصيل في حالة حدوث خطأ. لقراءة مجموعة النتائج، يتم استدعاء الأسلوب pg_fetch_row() في حلقة، مرة واحدة لكل صف، ويتم استرداد بيانات الصف في صفيف $row، مع قيمة بيانات واحدة لكل عمود في كل موضع صفيف. لتحرير مجموعة النتائج، يتم استدعاء الأسلوب pg_free_result() . ثم يستدعي الأسلوب pg_close() لإغلاق الاتصال.

استبدل المعلمات $host و$database و$user و$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 connection to 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 () للتحقق من التفاصيل في حالة حدوث خطأ. ثم يستدعي الأسلوب pg_close() لإغلاق الاتصال.

استبدل المعلمات $host و$database و$user و$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 connection to database. <br/>";

	// Modify some data in 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);
?>

حذف البيانات

استخدم التعليمات البرمجية التالية للاتصال وقراءة البيانات باستخدام عبارة DELETE SQL.

أسلوب استدعاء التعليمات البرمجية pg_connect() للاتصال بقاعدة بيانات Azure ل PostgreSQL. ثم يستدعي الأسلوب pg_query() لتشغيل أمر، pg_last_error () للتحقق من التفاصيل في حالة حدوث خطأ. ثم يستدعي الأسلوب pg_close() لإغلاق الاتصال.

استبدل المعلمات $host و$database و$user و$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 connection to database. <br/>";

	// Delete some data from 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

الخطوات التالية