Menggunakan PHP dengan Azure Database for MySQL - Server Fleksibel
BERLAKU UNTUK: Azure Database for MySQL - Server Fleksibel
Mulai cepat ini menunjukkan cara menyambungkan ke server fleksibel Azure Database for MySQL menggunakan aplikasi PHP . Ini menunjukkan cara menggunakan pernyataan SQL untuk mengkueri, menyisipkan, memperbarui, dan menghapus data dalam database. Artikel ini mengasumsikan bahwa Anda terbiasa dengan pengembangan menggunakan PHP dan Anda baru bekerja dengan server fleksibel Azure Database for MySQL.
Prasyarat
Mulai cepat ini menggunakan sumber daya yang dibuat di salah satu panduan ini sebagai titik awal:
- Membuat instans server fleksibel Azure Database for MySQL menggunakan portal Azure
- Membuat instans server fleksibel Azure Database for MySQL menggunakan Azure CLI
Mempersiapkan stasiun kerja klien Anda
Jika Anda membuat server fleksibel dengan akses Privat (Integrasi jaringan virtual), Anda harus terhubung ke server Anda dari sumber daya dalam jaringan virtual yang sama dengan server Anda. Anda dapat membuat komputer virtual dan menambahkannya ke jaringan virtual yang dibuat dengan server fleksibel Anda. Lihat Membuat dan mengelola jaringan virtual server fleksibel Azure Database for MySQL menggunakan Azure CLI.
Jika Anda membuat server fleksibel dengan Akses publik (alamat IP yang diizinkan), Anda dapat menambahkan alamat IP lokal Anda ke daftar aturan firewall di server Anda. Lihat Membuat dan mengelola aturan firewall server fleksibel Azure Database for MySQL menggunakan Azure CLI.
Menginstal PHP
Pasang PHP di server Anda sendiri, atau buat aplikasi web Azure yang menyertakan PHP. Lihat membuat dan mengelola aturan firewall untuk mempelajari cara membuat aturan firewall.
- Unduh PHP versi 7.1.4.
- Pasang PHP dan lihat manual PHP untuk konfigurasi lebih lanjut.
Mendapatkan informasi koneksi
Dapatkan informasi koneksi yang diperlukan untuk menyambungkan ke instans server fleksibel Azure Database for MySQL. Anda memerlukan nama server yang sepenuhnya memenuhi syarat dan info masuk.
- Masuk ke portal Azure.
- Dari menu sebelah kiri di portal Microsoft Azure, pilih Semua sumber daya, lalu cari server yang telah Anda buat (seperti mydemoserver).
- Pilih nama server.
- 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 ke server fleksibel menggunakan TLS/SSL di PHP
Untuk membuat koneksi terenkripsi ke server fleksibel Anda melalui TLS/SSL dari aplikasi Anda, lihat sampel kode berikut. Anda dapat mengunduh sertifikat yang diperlukan untuk berkomunikasi melalui TLS/SSL dari https://dl.cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
$conn = mysqli_init();
mysqli_ssl_set($conn,NULL,NULL, "/var/www/html/DigiCertGlobalRootCA.crt.pem", NULL, NULL);
mysqli_real_connect($conn, 'mydemoserver.mysql.database.azure.com', 'myadmin', 'yourpassword', 'quickstartdb', 3306, MYSQLI_CLIENT_SSL);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
Menyambungkan dan membuat tabel
Gunakan kode berikut untuk menyambungkan dan membuat tabel menggunakan pernyataan SQL CREATE TABLE.
Kode ini menggunakan kelas ekstensi Peningkatan MySQL (mysqli) yang disertakan dalam PHP. Kode memanggil metode mysqli_init dan mysqli_real_connect untuk tersambung ke MySQL. Kemudian, kode memanggil metode mysqli_query untuk menjalankan kueri. Kemudian, kode memanggil metode mysqli_close untuk menutup koneksi.
Ganti parameter host, nama pengguna, kata sandi, dan db_name dengan nilai Anda sendiri.
<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin';
$password = 'your_password';
$db_name = 'your_database';
//Establishes the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
// Run the create table query
if (mysqli_query($conn, '
CREATE TABLE Products (
`Id` INT NOT NULL AUTO_INCREMENT ,
`ProductName` VARCHAR(200) NOT NULL ,
`Color` VARCHAR(50) NOT NULL ,
`Price` DOUBLE NOT NULL ,
PRIMARY KEY (`Id`)
);
')) {
printf("Table created\n");
}
//Close the connection
mysqli_close($conn);
?>
Menyisipkan data
Gunakan kode berikut untuk menyambungkan dan menyisipkan data menggunakan pernyataan SQL INSERT.
Kode ini menggunakan kelas ekstensi Peningkatan MySQL (mysqli) yang disertakan dalam PHP. Kode ini menggunakan metode mysqli_prepare untuk membuat pernyataan penyisipan yang disiapkan, lalu mengikat parameter untuk setiap nilai kolom yang disisipkan menggunakan metode mysqli_stmt_bind_param. Kode menjalankan pernyataan menggunakan metode mysqli_stmt_execute, lalu menutup pernyataan menggunakan metode mysqli_stmt_close.
Ganti parameter host, nama pengguna, kata sandi, dan db_name dengan nilai Anda sendiri.
<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin';
$password = 'your_password';
$db_name = 'your_database';
//Establishes the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {f
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
//Create an Insert prepared statement and run it
$product_name = 'BrandNewProduct';
$product_color = 'Blue';
$product_price = 15.5;
if ($stmt = mysqli_prepare($conn, "INSERT INTO Products (ProductName, Color, Price) VALUES (?, ?, ?)")) {
mysqli_stmt_bind_param($stmt, 'ssd', $product_name, $product_color, $product_price);
mysqli_stmt_execute($stmt);
printf("Insert: Affected %d rows\n", mysqli_stmt_affected_rows($stmt));
mysqli_stmt_close($stmt);
}
// Close the connection
mysqli_close($conn);
?>
Membaca data
Gunakan kode berikut untuk menyambungkan dan membaca data menggunakan pernyataan SQL SELECT. Kode ini menggunakan kelas ekstensi Peningkatan MySQL (mysqli) yang disertakan dalam PHP. Kode yang menggunakan metode mysqli_query melakukan kueri sql dan metode mysqli_fetch_assoc untuk mengambil baris yang dihasilkan.
Ganti parameter host, nama pengguna, kata sandi, dan db_name dengan nilai Anda sendiri.
<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin';
$password = 'your_password';
$db_name = 'your_database';
//Establishes the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
//Run the Select query
printf("Reading data from table: \n");
$res = mysqli_query($conn, 'SELECT * FROM Products');
while ($row = mysqli_fetch_assoc($res)) {
var_dump($row);
}
//Close the connection
mysqli_close($conn);
?>
Memperbarui data
Gunakan kode berikut untuk menyambungkan dan memperbarui data menggunakan pernyataan SQL UPDATE.
Kode ini menggunakan kelas ekstensi Peningkatan MySQL (mysqli) yang disertakan dalam PHP. Kode ini menggunakan metode mysqli_prepare membuat pernyataan pembaruan yang disiapkan, lalu mengikat parameter untuk setiap nilai kolom yang diperbarui menggunakan metode mysqli_stmt_bind_param. Kode menjalankan pernyataan menggunakan metode mysqli_stmt_execute, lalu menutup pernyataan menggunakan metode mysqli_stmt_close.
Ganti parameter host, nama pengguna, kata sandi, dan db_name dengan nilai Anda sendiri.
<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin';
$password = 'your_password';
$db_name = 'your_database';
//Establishes the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
//Run the Update statement
$product_name = 'BrandNewProduct';
$new_product_price = 15.1;
if ($stmt = mysqli_prepare($conn, "UPDATE Products SET Price = ? WHERE ProductName = ?")) {
mysqli_stmt_bind_param($stmt, 'ds', $new_product_price, $product_name);
mysqli_stmt_execute($stmt);
printf("Update: Affected %d rows\n", mysqli_stmt_affected_rows($stmt));
//Close the connection
mysqli_stmt_close($stmt);
}
mysqli_close($conn);
?>
Menghapus data
Gunakan kode berikut untuk menghubungkan dan membaca data menggunakan pernyataan SQL DELETE.
Kode ini menggunakan kelas ekstensi Peningkatan MySQL (mysqli) yang disertakan dalam PHP. Kode ini menggunakan metode mysqli_prepare untuk membuat pernyataan penghapusan yang disiapkan, lalu mengikat parameter tempat klausul berada dalam pernyataan menggunakan metode mysqli_stmt_bind_param. Kode menjalankan pernyataan menggunakan metode mysqli_stmt_execute, lalu menutup pernyataan menggunakan metode mysqli_stmt_close.
Ganti parameter host, nama pengguna, kata sandi, dan db_name dengan nilai Anda sendiri.
<?php
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin';
$password = 'your_password';
$db_name = 'your_database';
//Establishes the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
//Run the Delete statement
$product_name = 'BrandNewProduct';
if ($stmt = mysqli_prepare($conn, "DELETE FROM Products WHERE ProductName = ?")) {
mysqli_stmt_bind_param($stmt, 's', $product_name);
mysqli_stmt_execute($stmt);
printf("Delete: Affected %d rows\n", mysqli_stmt_affected_rows($stmt));
mysqli_stmt_close($stmt);
}
//Close the connection
mysqli_close($conn);
?>
Langkah berikutnya
- Konektivitas terenkripsi menggunakan Keamanan Lapisan Transportasi (TLS 1.2) di server fleksibel Azure Database for MySQL.
- Pelajari selengkapnya tentang Jaringan di server fleksibel Azure Database for MySQL.
- Membuat dan mengelola aturan firewall server fleksibel Azure Database for MySQL menggunakan portal Azure.
- Buat dan kelola jaringan virtual server fleksibel Azure Database for MySQL menggunakan portal Azure.