PHP ile Veritabanına Son Eklenen Verinin İd Değerini Alma

Bu yazımızda php ile veritabanına eklediğimiz son verinin id deüerini almayı anlatmaya çalışacağım.

AUTO_INCREMENT alanı olan bir tabloda insert veya update işlemi yaparsak eklenen son değerin idsini kolayca alabiliriz.

Mesela elimizde Users adlı bir tablo olsun ve id kısmı AUTO_INCREMENT olsun.

CREATE TABLE Users(
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
email VARCHAR(30) NOT NULL,
password VARCHAR(50) 
)

Bu işlemi insert işleminin hemen akabinde yapıyoruz. Eğer insert işlemi ile ilgili gözden geçirmeniz gereken bir şey varsa bu linkten Mysql veri ekleme yazımı inceleyebilirsiniz.

Şimdi veritabanına eklenen son verinin id'sini alma işlemine göz atalım. Bı işlemi 3 şekilde yapabiliriz.


1- MySQLi (Object Oriented) Kullanarak Son eklenen id'yi Alma

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "kodlamaklazim";


// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Bağlantı Hatası: " . $conn->connect_error);
} 
$sql = "INSERT INTO Users (name, email, password)
VALUES ('Zafer Yıldız', 'info@kodlamaklazim.com', 'denemeŞifre')";
if ($conn->query($sql) === TRUE) {
  $last_id = $conn->insert_id;
  echo "Kayıt Başarıyla eklendi. Eklenen kaydın ID değeri : " . $last_id;
} else {
  echo "Hata: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>

Eğer bu kod başarıyla çalışırsa ekranda şu yazacaktır

Kayıt Başarıyla eklendi. Eklenen kaydın ID değeri : 1

2- MySQLi Eski Yöntem Kullanarak Son Eklenen Değerin ID'sini alma

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "kodlamaklazim";


// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}


$sql = "INSERT INTO Users (name, email, password)
VALUES ('Zafer Yıldız', 'info@kodlamaklazim.com', 'denemeŞifre')";


if (mysqli_query($conn, $sql)) {
  $last_id = mysqli_insert_id($conn);
  echo "Kayıt başarıyla eklendi. ID değeri: " . $last_id;
} else {
  echo "Hata: " . $sql . "<br>" . mysqli_error($conn);
}
$conn->close();
?>

3- PDO Kullanarak Son Eklenen Verinin ID Değerini Alma

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "kodlamaklazim";
try {
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  $sql = "INSERT INTO Users (name, email, password)
  VALUES ('Kodlamaklazım', 'info@kodlamaklazims.com', 'sananeşifremden')"; 
  $conn->exec($sql);
  $last_id = $conn->lastInsertId();
  echo "Kayıt Başarıyla Eklendi. ID Değeri: " . $last_id;
} catch(PDOException $e) {
  echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>

YAZAR HAKKINDA

26 Yaşında. Araştırmayı seven, bir şeyler öğretmeye meraklı bir Bilgisayar Mühendisi

3 YORUM

Yusuf Utku

03-February-2022

Teşekür ederim Zafer Bey


yusuf öz

30-March-2022

Teşekkürler gayet güzel çalıştı


vertigo65

24-April-2022

Şimdi bu alınan değerin web sayfasında işlenme süreci ve get metodu ile link haline getirmeyi nasıl yapacağız?


Yorum Yap

@COPYRIGHT KodlamakLazım Tüm Hakları Saklıdır.