exec() metodu.

exec();
Hissə 3.
Əgər bazada məlumat yoxdursa baza bizim işimizə yaramaz.Bir bazadan məlumat almaq üçün ilk öncə ora gərək məlumat daxil edək.Əgər edəcəyimiz sorğudan bir nəticə almaq istəmiriksə “exec”, əgər əldə etmək istəyiriksə “query”metodundan istifadə edirik.Qısacası “DELETE/UPDATE/INSERT” kimi sorğularda “exec”, ”SELECT” kimi sorğular üçün isə “query” köməyimizə gəlir.
exec(); metodu təsirlənən sətir sayını geri döndürür.Lakin təhlükəsizlik baxımından zəifdir. Ümumi olaraq bağlantı məsələlərində DSN (Data Source Name) istifadə olunur.Hansı bazaya bağlanacağımızı və məlumatları DSN ilə ifadə edirik.Digər iki parametrəni isə istifadəçi adı və şifrə olaraq qeyd edirik.
Bu şəkildə : $dsn=new PDO(‘mysql:host=localhost;dbname=db_name ’,$user,$password);
İndi isə bir misala nəzər yetirək.
example.php
<?php
//Bazaya bağlantı üçün kodlarımızı yazırıq
$host="localhost";
$database="db_name";
$user="root";
$password="test";
try{
            $connect=new PDO("mysql:host=$host;dbname=$database", "$user", "$password");
}catch(PDOException $e){
            echo "Xəta! : ".$e->getMessage();
}
   // Bazaya məlumat əlavə edirik (Insert əməliyyatı)
$xeber_elave = $connect->exec("INSERT INTO xeberler(xeber_basliq,xeber_movzu)
            VALUES ('Test üçün xəbər başlığı','Test üçün xəbər mövzusu')");
 //Təsirlənən sətir sayını geri döndürürük
echo $xeber_elave." xəbər əlavə edildi.";
  //Bazadan məlumat silirik (Delete əməliyyatı)
$xeber_sil=$connect->exec("DELETE FROM xeberler WHERE xeber_id='3' ");
if($xeber_sil==TRUE){
            echo $xeber_sil."xəbər silindi";
}else{
            echo $xeber_sil."xəbər silindi";
}
echo "<br>";
//Bazadakı məlumatları yeniləyirik (Update əməliyyatı)
$xeber_yenile=$connect->exec("UPDATE xeberler SET xeber_basliq='Bu xəbər başlığını yenilədik'  WHERE xeber_id=' 1'");
if($xeber_yenile==TRUE){
            echo $xeber_yenile."xəbər yeniləndi";
}else{
            echo $xeber_yenile."xəbər yeniləndi";
}

?>


Comments

  1. Delete ve update emeliyyatlarinda else-ler sehvdi mence...if true xeber silindi else silindi ikiside eyni sey olduki :)) if true dusa xeber silindi deyilse xeber SILINMEDI olmalidi..elecede update

    ReplyDelete
  2. İlk öncə təşəkkür edirəm şərhiniz üçün.Delete və Update əməliyyatlarında else yazılmağına səbəb olaraq bunu qeyd edə bilərəm ki,diqqət etsəniz hər iki əməliyyatda $xeber_sil. və $xeber_yenile. olaraq filan xəbərin silinib və yenilənməsinə aid bir ifadə yazılıb.Belə açıqlama gətirim:xeber_id='3' olan xəbəri sildiyim halda şərt TRUE olaraq ödəndi.Yəni 3 id-li xəbər silindi.Əgər mən yenidən 3 id-li xəbəri silmək və ya yeniləmək istəsəm o zaman else hissə işə düşərək 0 (sıfır)xəbər-in silinib və yeniləndiyini mənə xəbərdarlıq edəcək.Yəni ortalıqda 3 id-li xəbər olmadığı üçün 0 (sıfır) xəbər silindi və ya yeniləndi.(Yəni Siz heç bir xəbəri silmədiniz və ya yeniləmədiniz).Ümid edirəm fikrimi burda çatdıra bildim Sizə.Sadəcə bunu deyə bilərəm ki,yazılan bütün kodlar və nəticələri yoxlanıldıqdan sonra paylaşım edilib.Əgər bu kodun fərqli şəkildə yazılış qaydası varsa paylaşın xahiş edirəm.Ağıl ağıldan üstündür deyiblər )

    ReplyDelete
  3. Umumi goturende if else bir birine qarsi eks cavablar qaytarmalidi...biri duz digeri sehv..yada eksi...Ozaman sizin bu kodda else artiqdi..ona ehtiyac yoxdu...Bele bir kod duzgun isleye biler ama yazilis qaydasina gore biraz duzgun gorsenmir...Kodda iki defe eyni seyi tekrarlayan bir funksiyaya ehtiyac olmamalidi...if duzduse true else true...bele yazilis duzgun deyil. Sizin bu funksiyada ise tekce if kifayet edir.

    ReplyDelete
    Replies
    1. Design Pattern araşdıraram,daha funksional kod yazmağa çalışaram.Təşəkkürlər :)

      Delete

Post a Comment

Popular Posts