Uzman Üye
Merhaba en son bu tarz bir konu açtığımda hiç bir şey bilmediği halde bana konunu internetten kopyala yapıştır yapma diyen birine küfür ettiğim için sinirlenip baya foruma uğraşamıştım
bu gün php pdo yapısında prepare ve execute mantığını anlatacağım
Anlatmaya geçmeden önce php'ye yeni başlayacaksanız mysqlbaglanma kodları hariç hiç bir kodu kopyala yapıştır yapmayın php diğer dillere nazaran daha ezbere dayalı bir dildir haberiniz olsun
-----------------------
Geçelim kısaca prepare'yi veritabanının table'ından veri çekmek amacı ile kullanırız
örnek kullanımı
Buradaki $baglan değişkeninin önemi yok çünkü onu biz belirliyoruz $baglan değişkenini birazdan execute'de kullanacağız peki ya
$database değişkeni nedir arkadaşlar bildiğin üzere phpde database'de işlem yapıcaksak önce bir data base'ye bağlanmamız gerekir
eskiden database baglanma işlemleri bazen hatalı bazen sorunlu oluyordu lakin yeni pdo yapısı ile her şey ortadan kalktı
$database değişkeni burada kullanıldı >
Burada (charset=utf8) zorunlu değildir fakat bazi serverlerde databaseden bilgi yazdıracağımız zaman utf8 hatası olabiliyor onu engelemek için yazıyoruz yazmasanızda olur
Ve Bunu Biz prepare ve execute işlemleri yapacağımız php dosyasına include ettiğimizi veya sayfaya eklediğimizi sayalım anlatmaya devam edelim
prepare php pdo yapısında kullandığımız bir fonksiyondur buna nazaran farklı fonksiyonlarda mevcuttur fakat %99 bu kullanılır
INSERT into tableismi set nedir?
INSERT intoyu tablomuza yeni bir kayıt eklemek istediğimize kullanırız
tableismi databesimizdeki tablomuzun ismidir set ise getir belirle anlamları taşır
peki şimdi prepare'de 2 aşamaya geçelim mantığı burada kavrayacaksınız
prepare pdo güvenlik duvarı tarzında bir şeydir veritabanımızdaki tablomuzun stunlarının sql inj. ile dump edilmemesi için stunlara takma ad verir örneğin;
uyelistesi [tablo adı]
[stünlar] > uye_ad uye_id uye_email
Burada yaptığımız işlem uyelistesi adlı tablomuzda uye_ad uye_id ve uye_email stunlarını koruma altına aldık
Şimdi Bu Koruma Altına Aldığım tablo verilerini kullanıcdan post yoluyla gelen bilgiyi veri tabanına aktaralım bunun için
Execute kullanacağız;
exe cute mantığını anlamak için arrayları ve post get formlarını bilmeniz lazım zaten googleda bu aramayı yapıyorsanız bunları biliyorsunuz demektir saygılarımla konu altındı değil emektir alıntı yapacaksanız altındır DND'den derseniz memnun olurum
bu gün php pdo yapısında prepare ve execute mantığını anlatacağım
Anlatmaya geçmeden önce php'ye yeni başlayacaksanız mysqlbaglanma kodları hariç hiç bir kodu kopyala yapıştır yapmayın php diğer dillere nazaran daha ezbere dayalı bir dildir haberiniz olsun
-----------------------
Geçelim kısaca prepare'yi veritabanının table'ından veri çekmek amacı ile kullanırız
örnek kullanımı
PHP:
$baglan=$database->prepare("INSERT into tableismi set
");
$database değişkeni nedir arkadaşlar bildiğin üzere phpde database'de işlem yapıcaksak önce bir data base'ye bağlanmamız gerekir
eskiden database baglanma işlemleri bazen hatalı bazen sorunlu oluyordu lakin yeni pdo yapısı ile her şey ortadan kalktı
$database değişkeni burada kullanıldı >
PHP:
$database=new PDO("mysql:host=localhost;dbname=isx;charset=utf8",'root','12345678');
Ve Bunu Biz prepare ve execute işlemleri yapacağımız php dosyasına include ettiğimizi veya sayfaya eklediğimizi sayalım anlatmaya devam edelim
prepare php pdo yapısında kullandığımız bir fonksiyondur buna nazaran farklı fonksiyonlarda mevcuttur fakat %99 bu kullanılır
INSERT into tableismi set nedir?
INSERT intoyu tablomuza yeni bir kayıt eklemek istediğimize kullanırız
tableismi databesimizdeki tablomuzun ismidir set ise getir belirle anlamları taşır
peki şimdi prepare'de 2 aşamaya geçelim mantığı burada kavrayacaksınız
prepare pdo güvenlik duvarı tarzında bir şeydir veritabanımızdaki tablomuzun stunlarının sql inj. ile dump edilmemesi için stunlara takma ad verir örneğin;
uyelistesi [tablo adı]
[stünlar] > uye_ad uye_id uye_email
PHP:
$baglan=$database->prepare("INSERT into uyelistesi set
uye_ad=:uyeadkorumadegiskeni,
uye_id=:uyeidkorumadegiskeni,
uye_email=:uyeemailkorumadegiskeni
");
Şimdi Bu Koruma Altına Aldığım tablo verilerini kullanıcdan post yoluyla gelen bilgiyi veri tabanına aktaralım bunun için
Execute kullanacağız;
PHP:
$gonder=$baglan->execute(array("
'uyeadkorumadegiskeni' => $_POST['gelenad'],
'uyeidkorumadegiskeni' => $_POST['gelenid'],
'uyemailkorumadegiskeni' => $_POST['glenmail']
"));