İçindekiler
Saklı yordamlar, veritabanı işlemlerini kapsüllemek ve geliştirme süresinden tasarruf etmek için çok kullanışlıdır.Çok sayıda işlem ve biraz gizlilik içeren bir veritabanını korumanız gerektiğinde, veritabanının nasıl olduğunu bilmeden kod yapan bir geliştirici ekibiniz olabilir.
Bunun için saklı yordamları kullanacağız
Örnek
Emlak için bir veritabanı ve emlak için bir tablo oluşturuyoruz (kapsamlı ve kafa karıştırıcı kod oluşturmamak için birkaç alan kullanıyoruz)
OLUMSUZ TABLO OLUŞTURMA 'gayrimenkul' ('id' int (11) DEĞİL NULL AUTO_INCREMENT, 'mobilya türü' varchar (100) VARSAYILAN '0', 'fiyat' ondalık (10,2) VARSAYILAN '0.00', 'açıklama' metin , BİRİNCİL ANAHTAR (`id`)) MOTOR = MyISAM AUTO_INCREMENT = 195 VARSAYILAN CHARSET = latin1;
saklı bir prosedür oluşturuyorum yeni mülk özellikleri veritabanına eklemek için. Tanımlarken kabul etmesi gereken verileri parametre olarak atarım, bu durumda özellik, fiyat ve açıklama, her biri kendi mysql formatı ile, ayrıca INSERT eylemini yazarım.
Ardından yeni özelliklerin değerlerini girmek için bir html veri kayıt formu oluşturuyoruz.
[color = # 000000] Burada bilgileri, saklı yordamı çağıracak save.php dosyasına gönderiyoruz ve bu, verileri kaydedecek.[/ color]
[color = # 000000] Bunun için veritabanı bağlantı kodunu önceden oluşturmuş olmamız gerekir.[/ color]
[color = # 000000] config.php dosyasını oluşturuyoruz [/ color]
<?php
// Veritabanı bağlantı dizesi
$ link = mysql_connect ('localhost', 'kullanıcı', 'şifre');
// veritabanı bağlantısı
if (! $ link) {
die ('Bağlı değil:'. mysql_error ());
}
// Veritabanını seç
$ db = 'dbInmobiliaria';
if (! mysql_select_db ($ db)) {
die ('Hata:'. mysql_error());
}?> var13 ->
Resimde SQL deyimi aracılığıyla saklı yordamın nasıl çağrıldığını görebiliriz. ARAMAKCALL newinmueble (parametre1, parametre2, …)
Özellik türüne göre sorgulamak için veritabanında başka bir saklı yordam oluşturuyoruz.CREATE prosedürü mobilya listesi (tip varchar (150))
[girinti = 1]SEÇ * FROM özelliği NEREDE özellik GİBİ tipPhp'de kullanmanın yanı sıra bu durumda sql ve mysql'i destekleyen herhangi bir yazılımdan sorgulama yapabiliriz.
Bu durumda mysql yönetim yazılımı Heidisql'den saklı yordam özellik listesini türe göre test ettik.
ÇAĞRI mobilya listesi ('ev')
Sonuç, mülk türüne göre filtrelendiği için aşağıda görülebilir.
Kimliği parametre olarak göndereceğimiz verileri silmek için saklı bir prosedür de oluşturabiliriz.
[color = # 000000] CREATE prosedürü silme özelliği (id özelliği INT) [/ color]
[renk = # 000000]SEÇ * emlaktan NEREDE id = emlak kimliği[/Renk]
Ardından saklı yordamı aşağıdaki gibi çağırırız.
CALL silme özelliği (172)
Bununla ilgili ilginç olan şey, eğer çok karmaşık bir sistemin veritabanı yöneticileri olsaydık, programcılara daha fazla gizlilik sağlayan veritabanının yapısını değil, yalnızca prosedürlerin listesini verebilirdik.
Verilerle etkileşime girmelerine izin vermek, ancak yapıyla değil, yalnızca okuyabilmeleri ancak değiştirememeleri bile. Bu, güvenlik ve gizliliğin önemli olduğu birçok insanın etkileşimde bulunduğu büyük veritabanı sistemleri için bir sorun olacaktır.
Saklı yordamları destekleyen en popüler veritabanları şunlardır: mysql, firebird, ms sql sunucusu, oracle, db2 postgresql, sybase (ilk olarak sql için Transact-SQL adında bir veritabanı işlem dili oluşturur).Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.