2015-07-13 2 views
1

С приведенным ниже кодом я пытаюсь обновить таблицу, используя значения post. После обновления с теми же переменными я пытаюсь вставить значения в другую таблицу с условием if. Первое обновление работает правильно, но вставка не происходит.PHP mysql update и insert, если условие удовлетворительное

<?php 
if (isset($_POST['submit'])) { 
    $wlnid=$_POST['wlt_ln_id']; 
    $refwal = $_POST['wlt_name']; 
    $refamt = $_POST['wlt_ln_refund_amt']; 
    $refdtls = $_POST['wlt_ln_txn_details']; 
    $refdate = $_POST['wlt_ln_refund_date']; 
    $lntype = $_POST['wlt_ln_type']; 

     $query=mysqli_query($GLOBALS["___mysqli_ston"], "update wallet_loans set wlt_ln_refund_acct = '$refwal',wlt_ln_refund_amt=wlt_ln_refund_amt+'$refamt',wlt_ln_refund_txn_details='$refdtls',wlt_ln_refund_date='$refdate' where wlt_ln_id = '$wlnid'and wlt_holder_id = '{$_SESSION['SESS_MEMBER_ID']}'"); 

     if($lntype == 'Given'){ 
      $sql = "INSERT INTO wallet_txns(wlt_name, wlt_txn_date, wlt_txn_type, wlt_drcr_cod, wlt_txn_amount, wlt_txn_dtls, wlt_txn_cat, wlt_txn_cat_sub, wlt_amt_payee, wlt_holder_id, wlt_txn_flg_loan, wlt_txn_ln_id, wlt_txn_flg_recr, wlt_txn_recr_id) VALUES ('$refwal', '$refdate', 'Income','C', '$refamt', '$refdtls', 'Loan refund','Null','Null', '{$_SESSION['SESS_MEMBER_ID']}', 'Y','$wlnid', 'N',0)"; 
     } 

     else if($lntype == 'Received'){ 
      $sql = "INSERT INTO wallet_txns(wlt_name, wlt_txn_date, wlt_txn_type, wlt_drcr_cod, wlt_txn_amount, wlt_txn_dtls, wlt_txn_cat, wlt_txn_cat_sub, wlt_amt_payee, wlt_holder_id, wlt_txn_flg_loan, wlt_txn_ln_id, wlt_txn_flg_recr, wlt_txn_recr_id) VALUES ('$refwal', '$refdate', 'Expense','D', '$refamt', '$refdtls', 'Loan refund','Null','Null', '{$_SESSION['SESS_MEMBER_ID']}', 'Y','$wlnid', 'N',0)"; 
     } 
}?> 

Благодарим за поддержку.

+2

Что такое $ lntype? И я не вижу, что вы выполняете SQL-запрос после if. – Blaatpraat

+0

Вы уязвимы для [SQL-инъекций] (http://bobby-tables.com). –

+0

$ lntype - поле ввода текста на моей странице html со значением (задано и получено). на основе данных или полученных я вставляю в другую таблицу. –

ответ

1

В вашем коде вы никогда не звоните mysqli_query с запросом sql.

if ($lntype == 'Given') { 
    $sql = "INSERT INTO wallet_txns(wlt_name, wlt_txn_date, wlt_txn_type, wlt_drcr_cod, wlt_txn_amount, wlt_txn_dtls, wlt_txn_cat, wlt_txn_cat_sub, wlt_amt_payee, wlt_holder_id, wlt_txn_flg_loan, wlt_txn_ln_id, wlt_txn_flg_recr, wlt_txn_recr_id) VALUES ('$refwal', '$refdate', 'Income','C', '$refamt', '$refdtls', 'Loan refund','Null','Null', '{$_SESSION['SESS_MEMBER_ID']}', 'Y','$wlnid', 'N',0)"; 
     mysqli_query($GLOBALS["___mysqli_ston"], $sql); 
} 
else if($lntype == 'Received'){ 
    $sql = "INSERT INTO wallet_txns(wlt_name, wlt_txn_date, wlt_txn_type, wlt_drcr_cod, wlt_txn_amount, wlt_txn_dtls, wlt_txn_cat, wlt_txn_cat_sub, wlt_amt_payee, wlt_holder_id, wlt_txn_flg_loan, wlt_txn_ln_id, wlt_txn_flg_recr, wlt_txn_recr_id) VALUES ('$refwal', '$refdate', 'Expense','D', '$refamt', '$refdtls', 'Loan refund','Null','Null', '{$_SESSION['SESS_MEMBER_ID']}', 'Y','$wlnid', 'N',0)"; 
    mysqli_query($GLOBALS["___mysqli_ston"], $sql); 
} 
+0

'mysqli_query ($ sql);' неверно. Первый аргумент - это объект подключения к базе данных. проверьте свой код. –

+0

@OptimusCrime Спасибо за подсказку ... Я забыл об этом ... Теперь он работает ... обновленный код. '$ SQL = mysqli_query ($ GLOBALS [ "___ mysqli_ston"], «INSERT INTO wallet_txns (wlt_name, wlt_txn_date, wlt_txn_type, wlt_drcr_cod, wlt_txn_amount, wlt_txn_dtls, wlt_txn_cat, wlt_txn_cat_sub, wlt_amt_payee, wlt_holder_id, wlt_txn_flg_loan, wlt_txn_ln_id, wlt_txn_flg_recr, wlt_txn_recr_id) значения (' $ refwal ',' $ refdate ',' Income ',' C ',' $ refamt ',' $ refdtls ',' Loan refund ',' Null ',' Null ',' {$ _SESSION ['SESS_MEMBER_ID']} ',' Y ',' $ wlnid ',' N ', 0) "); –

+0

Спасибо @anantkumarsingh. Я обновил код. Я попытался посмотреть в [docs] (http://php.net/mysqli_query) и посмотрел на неправильный метод. – OptimusCrime

Смежные вопросы