Mulai cepat: Menggunakan PHP untuk menyambungkan dan mengkueri data di server fleksibel Azure Database for PostgreSQL

Panduan mulai cepat ini menjelaskan cara tersambung ke Azure Database for PostgreSQL menggunakan aplikasi PHP. Ini menunjukkan cara menggunakan pernyataan SQL untuk mengkueri, menyisipkan, memperbarui, dan menghapus data dalam database. Langkah-langkah dalam artikel ini mengasumsikan bahwa Anda terbiasa mengembangkan dengan menggunakan PHP dan baru bekerja dengan Azure Database for PostgreSQL.

Prasyarat

Panduan mulai cepat ini menggunakan sumber daya yang diciptakan dalam Buat Azure Database for PostgreSQL sebagai dasar awal.

Menginstal PHP

Instal PHP di server Anda, atau buat aplikasi web Azure yang menyertakan PHP.

Windows

  • Unduh versi PHP 7.1.4 non-thread-safe (x64).
  • Pasang PHP dan lihat manual PHP untuk konfigurasi lebih lanjut.
  • Kode ini menggunakan kelas pgsql (ext/php_pgsql.dll) yang disertakan dalam penginstalan PHP.
  • Aktifkan ekstensi pgsql dengan mengedit file konfigurasi php.ini, biasanya terletak di C:\Program Files\PHP\v7.1\php.ini. File konfigurasi harus berisi baris dengan teks extension=php_pgsql.so. Jika tidak ditampilkan, tambahkan teks dan simpan file. Jika teks ada tetapi dikomentari dengan awalan titik koma, batalkan komentar teks dengan menghapus titik koma.

Linux (Ubuntu)

  • Unduh versi PHP 7.1.4 nonthread safe (x64).
  • Pasang PHP dan lihat manual PHP untuk konfigurasi lebih lanjut.
  • Kode ini menggunakan kelas pgsql (php_pgsql.so). Pasang dengan menjalankan sudo apt-get install php-pgsql.
  • Aktifkan ekstensi pgsql dengan mengedit /etc/php/7.0/mods-available/pgsql.ini file konfigurasi. File konfigurasi harus berisi baris dengan teks extension=php_pgsql.so. Jika tidak ditampilkan, tambahkan teks dan simpan file. Jika teks ada tetapi dikomentari dengan awalan titik koma, batalkan komentar teks dengan menghapus titik koma.

macOS

Mendapatkan informasi koneksi

Dapatkan informasi koneksi yang diperlukan untuk menyambungkan ke database Azure Database for PostgreSQL. Anda memerlukan nama server dan kredensial autentikasi yang sepenuhnya memenuhi syarat.

  1. Masuk ke portal Azure.
  2. Dari menu sebelah kiri di portal Azure, pilih Semua sumber daya, lalu cari server yang Anda buat (seperti mydemoserver).
  3. Pilih nama server.
  4. Dari panel server Gambaran Umum, buat catatan Nama server dan Nama untuk masuk admin server. Jika lupa kata sandi, Anda juga dapat mengatur ulang kata sandi dari panel ini.

Menyambungkan dan membuat tabel

Gunakan kode berikut untuk menyambungkan dan membuat tabel menggunakan pernyataan CREATE TABLE SQL, diikuti dengan pernyataan INSERT INTO SQL untuk menambahkan baris ke tabel.

Metode panggilan kode pg_connect() digunakan untuk menyambungkan ke Azure Database for PostgreSQL. Kemudian, ini memanggil metode - pg_query() - beberapa kali untuk menjalankan beberapa perintah, dan pg_last_error() untuk memeriksa detail apakah terjadi kesalahan setiap kali. Kemudian, ia memanggil metode pg_close() untuk menutup koneksi.

$hostGanti parameter , $database, $user, dan $password dengan nilai Anda.

<?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);
?>

Baca data

Gunakan kode berikut untuk menyambungkan dan membaca data menggunakan pernyataan SQL SELECT.

Kode menggunakan fungsi pg_connect() untuk menyambungkan ke Azure Database for PostgreSQL. Kemudian memanggil pg_query() untuk menjalankan perintah SELECT dan menyimpan hasilnya dalam tataan hasil. Jika terjadi kesalahan, kode memanggil pg_last_error() untuk memeriksa detailnya. Untuk membaca kumpulan hasil, kode memanggil pg_fetch_row() dalam perulangan, sekali per baris. Data baris diambil dalam array $row, dengan satu nilai data per kolom di setiap posisi array. Untuk membebaskan kumpulan hasil, kode memanggil pg_free_result(). Setelah selesai, kode memanggil pg_close() untuk menutup koneksi.

$hostGanti parameter , $database, $user, dan $password dengan nilai Anda.

<?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);
?>

Perbarui data

Gunakan kode berikut untuk menyambungkan dan memperbarui data menggunakan pernyataan SQL UPDATE.

Kode menggunakan fungsi pg_connect() untuk menyambungkan ke Azure Database for PostgreSQL. Kemudian memanggil pg_query() untuk menjalankan perintah. Jika terjadi kesalahan, kode memanggil pg_last_error() untuk memeriksa detailnya. Setelah selesai, kode memanggil pg_close() untuk menutup koneksi.

$hostGanti parameter , $database, $user, dan $password dengan nilai Anda.

<?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);
?>

Menghapus data

Gunakan kode berikut untuk menyambungkan ke database dan menghapus data dengan menggunakan pernyataan DELETE SQL.

Kode menggunakan fungsi pg_connect() untuk menyambungkan ke Azure Database for PostgreSQL. Kemudian memanggil pg_query() untuk menjalankan perintah. Jika terjadi kesalahan, kode memanggil pg_last_error() untuk memeriksa detailnya. Setelah selesai, kode memanggil pg_close() untuk menutup koneksi.

$hostGanti parameter , $database, $user, dan $password dengan nilai Anda.

<?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);
?>

Membersihkan sumber daya

Untuk membersihkan semua sumber daya yang digunakan selama mulai cepat ini, hapus grup sumber daya dengan menggunakan perintah berikut:

az group delete \
 --name $AZ_RESOURCE_GROUP \
 --yes