Merhaba;
Php yazdığım sistem için bir form hazırladım, burada bir takım bilgileri database deki alanlara post ettirmem gerekiyor. Herşey güzel çalışıyor ama görmüş olduğunuz tablolardan room reservation tablosunda 3 tane id değeri döndürmem gerekiyor, bunlardan customer_id nin son değerini alabilmek adına php nin lastInsertId(); fonksiyonunu kullandım. Bu gayet güzel çalıştı fakat aynı tablo da room_id içinde lastInsertId(); kullanmam gerekli. Fakat room_id için de lastInsertId(); kullandığım da hata alıyorum çeşitli yöntemler denedim ama yine null döndürmeye devam etti.
Bu sıkıntıyı aşabilmemin kolay bir yolu var mı?
Cevaplarınız için şimdiden teşekkür ederim. Kod bloğu da burada;
$ekle = $db->prepare("INSERT INTO customers SET
tc_pass_no = ?,
title = ?,
name_surname = ?,
institution = ?,
phone = ?,
mail = ?,
guest_count = ?");
$insert = $ekle->execute(array($tc_pass_no,$title,$name_surname,$institution,$phone,$mail,$guest_count)) or die("Veri Eklenemedi (Database Connection Error!)");
$lastId = $db->lastInsertId();
$ekle1 = $db->prepare("INSERT INTO room_reservation SET
customer_id = ?
checkin_date = ?,
checkout_date = ?,
checkin_time = ?,
checkout_time = ?");
$insert1 = $ekle1->execute(array($lastId,$checkin_date,$checkout_date,$checkin_time,$checkout_time)) or die("<div class='warning-color'>Veri Eklenemedi!(Database Connection Error Room Reservation Table!)</div>");
$son_id =$db->lastInsertId();
$ekle3 = $db->prepare("INSERT INTO room_reservation SET
room_id = ?");
$insert3 = $ekle3->execute(array($son_id)) or die("OLMADI!");
$ekle2 = $db->prepare("INSERT INTO rooms SET
room_no = ?,
room_available = ?,
room_status = ?,
reserved = ?,
pay_status = ?");
$insert2 = $ekle2->execute(array($room_no, $room_available, $room_status, $reserved, $pay_status)) or die("<div class='warning-color'>Veri Eklenemedi!(Database Connection Error Rooms Table!)</div>");;
if ($insert && $insert1 && $insert2 && $insert3) {
echo "tamamdır!";
} else {
echo "olmadı!";
}