Her tür programda oldukça yeni olduğumu belirterek ön hazırlık yapacağım. Video mağaza envanter sistemi için bir okul ödevi üzerinde çalışıyorum ve çok sorgu deyimiyle sorun yaşıyorum. Farklı tablolarda 2 alanı güncellemeye çalışıyorum. Video tablosunun envanterini bir arttırma operatörü ile başarıyla güncelledim, ancak kiralama tablosunun dönüş tarihi güncellenmeyecek. Ben hiç bir hata alamıyorum. Ancak, veritabanındaki boş alanda değişiklik yoktur.Mysqli çoklu sorgu tüm alanları güncelleştirmiyor
İlgili kod olduğuna inanıyorum.
Bu
formu<form class="form-horizontal" name="returnform" id="returnform" action="" method="post">
<div align="center" class="form-group">
<label class="col-sm-2">Rental number</label>
<div class="col-sm-10">
<input class="form-control" name="Rental_ref_num" type="text" name="s" placeholder="Enter reference number..." required="">
</div>
</div>
<input id="Returned_date" name="Returned_date" type="hidden">
<input id="Movie_id" name="Movie_id" type="hidden">
<div align="center">
<input type="submit" value="Return">
</div>
</form>
için HTML ben Geçerli tarihi ayarlar ve gizli bir form alanına gönderir bazı JavaScript var.
<script>
var mydate=new Date()
var theyear=mydate.getYear()
if (theyear < 1000)
theyear+=1900
var theday=mydate.getDay()
var themonth=mydate.getMonth()+1
if (themonth<10)
themonth="0"+themonth
var theday=mydate.getDate()
if (theday<10)
theday="0"+theday
var displayfirst=theyear
var displaysecond=themonth
var displaythird=theday
document.returnform.Returned_date.value = displayfirst + displaysecond + displaythird
PHP ve ben uzun yazı için üzgünüm
<?php
if (! empty($_POST)) {
$mysqli = new mysqli('localhost', 'root', 'AMerica12', 'videostoremodel');
$rd = $mysqli->real_escape_string($_POST['Returned_date']);
$rrf = $mysqli->real_escape_string($_POST['Rental_ref_num']);
////////////////////////////////////////////////////////////////////
$result = mysqli_query($mysqli,"SELECT Movie_id FROM rental_table where Rental_ref_num ='".$rrf."'");
$row = mysqli_fetch_array($result);
$name = $row['Movie_id'];
/////////////////////////////////////////////////////////////////////
$sql = "UPDATE `rental_table`
SET (`Returned_date` = '$rd')
WHERE (`Rental_ref_num` = '$rrf');";
$sql = "UPDATE `video_table`
SET `Amount_inventory` = `Amount_inventory` + 1
WHERE (`Movie_id` = '$name');";
$result = mysqli_multi_query($mysqli, $sql);
sorgular. Ancak, saatlerce aradım ve ne olursa olsun, dönüş tarihinin neden kiralama_tarihi içinde güncellenmeyeceğini anlayamıyorum. Bir kez daha, hata mesajları almıyorum.
Herhangi bir yardım büyük memnuniyetle karşılanacaktır.
Eğer mysqli hatayı kullanmalısınız bu şekilde size:
yerine ben yerine 2 ayrı sorguları yürütmek için öneririm yapmanın, aynı zamanda kolayca bu şekilde alıcı hatayı uygulayabilirsiniz Kendiniz için neyin yanlış gittiğini öğrenin: http://php.net/manual/en/mysqli.error.php – Jester
Bende var. Kısalmak adına, orijinal yazıya dahil etmemeye karar verdim. Ancak, hala hata mesajları almıyorum. – StevenAntonio
cevabımı/Saty'ın cevabını görün. ama sen ilk sorgu bir hata atacaksın ben eminim. ama şu anda çalıştırılmıyor – Jester