Quantcast
Viewing all articles
Browse latest Browse all 4270

Php lastInsertId() Problemi

Merhaba; Image may be NSFW.
Clik here to view.
alt text
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ı!";
}

Viewing all articles
Browse latest Browse all 4270