Hızlı Başlangıç: Php kullanarak veri bağlantısı ve sorgu MySQL için Azure Veritabanı
AŞAĞıDAKILER IÇIN GEÇERLIDIR:
MySQL için Azure Veritabanı - Tek Sunucu
Bu hızlı başlangıçta PHP uygulaması kullanarak MySQL için Azure Veritabanı'na nasıl bağlanacağınız gösterilmiştir. Ayrıca veritabanında veri sorgulamak, eklemek, güncelleştirmek ve silmek için SQL deyimlerini nasıl kullanacağınız da gösterilmiştir.
Önkoşullar
Bu hızlı başlangıç için şunları gerekir:
Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir hesap oluşturun.
Azure portal kullanarak MySQL için Azure Veritabanı tek sunucu oluşturma
veya Azure CLI'niz yoksa.Genel erişim mi yoksa özel erişim mi kullanıyorsanız bağlı olarak, bağlantı sağlamak için aşağıdaki eylemlerden birini gerçekleştirin.
Eylem Bağlantı yöntemi Nasıl yapılır kılavuzu Güvenlik duvarı kurallarını yapılandırma Genel Portal
CLIHizmet Uç Noktasını Yapılandırma Genel Portal
CLIÖzel bağlantı yapılandırma Özel Portal
CLIİşletim sisteminiz için en son PHP sürümünü yükleme
Not
Bu hızlı başlangıçta bağlantı ve sunucuyu sorgulamak için MySQLi kitaplığını kullanıyoruz.
Bağlantı bilgilerini alma
Veritabanı sunucusu bağlantı bilgilerini aşağıdaki adımları Azure portal veritabanından edinebilirsiniz:
MySQL için Azure Veritabanları sayfasına gidin. öğesini arayabilir ve öğesini MySQL için Azure Veritabanı.
MySQL sunucuyu (örneğin, mydemoserver) seçin.
Genel Bakış sayfasında, Sunucu adı'nın yanındaki tam sunucu adını ve Sunucu yöneticisi oturum açma adı'nın yanındaki yönetici kullanıcı adını kopyalayın. Sunucu adını veya ana bilgisayar adını kopyalamak için üzerine gelin ve Kopyala simgesini seçin.
Önemli
- Parolanızı unuttuysanız, parolasını sıfırlayabilirsiniz.
- Konak, kullanıcı adı, parola ve db_name kendi değerlerinizle değiştirin**
1. Adım: Bağlan sunucuya yükleme
SSL varsayılan olarak etkindir. Yerel ortamınıza bağlanmak için DigiCertGlobalRootG2 SSL sertifikasını indirmeniz gerekir. Bu kod şunları çağrılır:
- mysqli_init MySQLi'yi başlatmak için.
- mysqli_ssl_set SSL sertifika yolunu işaret etmek için gereklidir. Bu, yerel ortamınız için gereklidir, ancak web App Service Azure Sanal makineleri için gerekli değildir.
- mysqli_real_connect MySQL'e bağlanamıyor.
- mysqli_close kapatabilirsiniz.
$host = 'mydemoserver.mysql.database.azure.com';
$username = 'myadmin@mydemoserver';
$password = 'your_password';
$db_name = 'your_database';
//Initializes MySQLi
$conn = mysqli_init();
mysqli_ssl_set($conn,NULL,NULL, "/var/www/html/DigiCertGlobalRootG2.crt.pem", NULL, NULL);
// Establish the connection
mysqli_real_connect($conn, 'mydemoserver.mysql.database.azure.com', 'myadmin@mydemoserver', 'yourpassword', 'quickstartdb', 3306, NULL, MYSQLI_CLIENT_SSL);
//If connection failed, show the error
if (mysqli_connect_errno())
{
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
2. Adım: Tablo Oluşturma
Bağlanmak için aşağıdaki kodu kullanın. Bu kod şunları çağrılır:
- mysqli_query çalıştırmak için kullanın.
// 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");
}
3. Adım: Veri ekleme
Insert SQL deyimi kullanarak veri eklemek için aşağıdaki SQL kullanın. Bu kod şu yöntemleri kullanır:
- mysqli_prepare insert deyimi oluşturmak için
- mysqli_stmt_bind_param sütun değerinin parametrelerini bağlamayı sağlar.
- mysqli_stmt_execute
- mysqli_stmt_close yöntemini kullanarak deyimini kapatmak için
//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);
}
4. Adım: Verileri okuma
Select SQL deyimini kullanarak verileri okumak için aşağıdaki SQL kullanın. Kod yöntemini kullanır:
- mysqli_query SELECT sorgusunu yürütme
- mysqli_fetch_assoc satırları getirmek için kullanılır.
//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);
}
5. Adım: Verileri silme
Delete SQL deyimini kullanarak satırları silmek için aşağıdaki SQL kullanın. Kod şu yöntemleri kullanır:
- mysqli_prepare bir silme deyimi oluşturmak için
- mysqli_stmt_bind_param parametreleri bağlar
- mysqli_stmt_execute delete deyimini yürütür
- mysqli_stmt_close deyimini kapatır
//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);
}
Kaynakları temizleme
Bu hızlı başlangıçta kullanılan tüm kaynakları temizlemek için aşağıdaki komutu kullanarak kaynak grubunu silin:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes