Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /var/www/vhosts/bilgigunlugum.net/httpdocs/index.php on line 43
PHP Programlama

BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > PHP > Veri girişi

Veri girişi

PHP ile bir MySQL veritabanındaki tablolara 3 farklı yöntemle veri girişi yapabiliriz. Bir tabloda sütunlar her bir kayıt için girilecek olan değerleri, satır ise girilecek olan kayıtları ifade eder.

MySQL'de bir tabloya veri girmek için INSERT INTO komutu kullanılır. MySQL ile bir tabloya veri girmek için aşağıdaki komut yapısını kullanabilirsiniz:

INSERT INTO tablo_adi (sütun1, sütun2, ...) VALUES (değer1, değer2, ...)

Buradaki örneklerimizde, daha önce oluşturduğumuz personel adlı tabloya veri girişi yapmaya çalışacağız:

1. MySQLi nesneye dayalı yöntem ile


<?php
  $sunucu = "localhost";
  $kullanici = "kullanıcıadı";
  $parola = "parola";
  $veritabani = "veritabaniadi";

  // Bağlantı oluşturma
  $bag = new mysqli($sunucu, $kullanici, $parola, $veritabani);

  // Bağlantı kontrolü											
  if ($bag->connect_error) {
      die("Bağlantı hatası: " . $bag->connect_error);
  }

  // MySQL tablo oluşturma komutu
  $sqlquery = "INSERT INTO personel (adi, soyadi, dogumtarihi) VALUES ('Ahmet', 'KARA', '1995-11-24')";

  if ($bag->query($sqlquery) === TRUE) {
      echo "Kayıt girildi!";
  } 
  else {
    echo "Kayıt giriş hatası: " . $bag->error;
  }
  
  $bag->close();
?>

Yukarıdaki örnekteki kodlar, veritabanına bağlandıktan sonra, $sqlquery değişkenine kayıt girişi için gerekli olan MySQL komut dizisini atar. $sqlquery değişkenini $bag->query() fonksiyonuna parametre olarak geçirip, fonksiyonu çağırarak kaydı girer. Hata meydana gelirse, $bag->error değişkeni ile ekrana yazar. $bag->close() fonksiyonu ile bağlantı kapatılır.

2. MySQLi fonksiyonel yöntem ile


<?php
  $sunucu = "localhost";
  $kullanici = "kullanıcıadı";
  $parola = "parola";
  $veritabani = "veritabaniadi";

  // Bağlantı oluşturma
  $bag = mysqli_connect($sunucu, $kullanici, $parola, $veritabani);

  // Bağlantı kontrolü											
  if (!$bag) {
      die("Bağlantı hatası: " . mysqli_connect_error());
  }

  // MySQL tablo oluşturma komutu
  $sqlquery = "INSERT INTO personel (adi, soyadi, dogumtarihi) VALUES ('Ahmet', 'KARA', '1995-11-24')";

  if (mysqli_query($bag, $sqlquery)) {
      echo "Kayıt girildi!";
  } 
  else {
      echo "Kayıt giriş hatası: " . mysqli_error($bag);
  }
  
  mysqli_close($bag);
?>

Yukarıdaki örnekteki kodlar, veritabanına bağlandıktan sonra, $sqlquery değişkenine kayıt girişi için gerekli olan MySQL komut dizisini atar. $bag ve $sqlquery değişkenlerini mysqli_query() fonksiyonuna parametre olarak geçirip, fonksiyonu çağırarak kaydı girer. Hata meydana gelirse, mysqli_error fonksiyonu ile ekrana yazar. mysqli_close() fonksiyonu ile bağlantı kapatılır.

3. PDO yöntemi ile


<?php
  $sunucu = "localhost";
  $kullanici = "kullanıcıadı";
  $parola = "parola";
  $veritabani = "veritabaniadi";

  try {
     $bag = new PDO("mysql:host=$sunucu;dbname=$veritabani", $kullanici, $parola);
     // PDO hata modunu istisnaya ayarlama
     $bag->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     // MySQL tablo oluşturma komutu
     $sqlquery = "INSERT INTO personel (adi, soyadi, dogumtarihi) VALUES ('Ahmet', 'KARA', '1995-11-24')";
     $bag->exec($sqlquery);
     echo "Tablo oluşturuldu!";
  }
  catch(PDOException $e) {
     echo "Hata: " . $e->getMessage();
  }
  
  $bag = null;
?>

Yukarıdaki örnekteki kodlar, veritabanına bağlandıktan sonra, $sqlquery değişkenine kayıt girmek için gerekli olan MySQL komut dizisini atar. $sqlquery değişkenini $bag->exec() fonksiyonuna parametre olarak geçirip, fonksiyonu çağırarak kaydı girer. Hata meydana gelirse, $e->getMessage() fonksiyonu ile ekrana yazar. $bag değişkenine null değer atanarak bağlantı kapatılır.