php - php、pdo中数据没有添加到数据库

标签 php mysql pdo

在我的项目中,我包含该发票的销售部分。因此我有2个表,一个是名为invoice的主表(包括发票id,总计,税收,日期, Netty ,小计等..),另一个是项目表invoiceitemtable(包括itemID,item_no,item_qty,item_price,item_totPrice ) .

这是_invoice.php的代码

<?php

require_once '../../config/config.php';
try {

$invoice_ID = $_POST['invoice_ID'];
$tbl_employee_tbl_branch_branch_ID = $_SESSION['Branch'];
$inoice_subTot1 = $_POST['inoice_subTot'];
$invoice_tax1 = $_POST['invoice_tax'];
$invoice_discount1 = $_POST['invoice_discount'];
$invoice_grandTot1 = $_POST['invoice_grandTot'];
$tbl_employee_NIC = $_SESSION['username'];

$inoice_subTot = substr($inoice_subTot1,3);
$invoice_tax = substr($invoice_tax1,3);
$invoice_discount = substr($invoice_discount1,3);
$invoice_grandTot = substr($invoice_grandTot1,3);


    foreach ($_POST['invoiceItem_itemIDS'] as $rowIndex => $item_selected) {

   $invoiceItem_itemID1 =  $_POST['invoiceItem_itemIDS'][$rowIndex];
   $invoiceItem_itemID = round($invoiceItem_itemID1);
   $invoiceItem_qty = $_POST['invoiceItem_qtyS'][$rowIndex];
   $invoiceItem_price  =  $_POST['invoiceItem_itemPriceS'][$rowIndex];
   $invoiceItem_totPrice1 =  $_POST['invoiceItem_totPriceS'][$rowIndex];
   $invoiceItem_totPrice = substr($invoiceItem_totPrice1,3);




   echo 'ITEM ID'.$invoiceItem_itemID.'<BR/>'; 
   echo 'QUANTITY'.$invoiceItem_qty.'<BR/>';
   echo 'ITEM PRICE'.$invoiceItem_itemPrice.'<BR/>';
   echo 'ITEM TOTAL'.$invoiceItem_totPrice.'<BR/>';
  echo $invoice_ID ;    

//  $sql1 = "INSERT INTO `tbl_invoiceitem`(`invoiceItem_itemID`,"
//           . " `invoiceItem_qty`, "
//           . "`invoiceItem_price`,"
//           . " `invoiceItem_totPrice`, "
//           . "`invoice_ID`) "
//           . "VALUES(:invoiceItem_itemID ,"
//           . ":invoiceItem_qty,:invoiceItem_itemPrice,:invoiceItem_totPrice,:invoice_ID)";
//    $qry1 = $conn->prepare($sql1);
//    
//       $qry1->execute(array(':invoiceItem_itemID'=>$invoiceItem_itemID,
//           ':invoiceItem_qty' => $invoiceItem_qty, 
//           ':invoiceItem_price' => $invoiceItem_price, 
//           ':invoiceItem_totPrice' => $invoiceItem_totPrice,
//           ':invoice_ID' => $invoice_ID));



    }


// add main values to invoice table
    $sql = "INSERT INTO `tbl_invoice`(`invoice_ID`, `inoice_subTot`, `invoice_grandTot`, `invoice_tax`, `invoice_discount`, `tbl_employee_NIC`, `tbl_employee_tbl_branch_branch_ID`)"
            . "VALUES (:invoice_ID,:inoice_subTot,:invoice_grandTot,:invoice_tax,:invoice_discount,:tbl_employee_NIC,:tbl_employee_tbl_branch_branch_ID)";
    $qry = $conn->prepare($sql);

    $qry->execute(array(':invoice_ID'=>$invoice_ID,':inoice_subTot' => $inoice_subTot, ':invoice_grandTot' => $invoice_grandTot, ':invoice_tax' => $invoice_tax, ':invoice_discount' => $invoice_discount, ':tbl_employee_NIC' => $_SESSION['username'], ':tbl_employee_tbl_branch_branch_ID' => $_SESSION['Branch']));


    // ./add main values to invoice table
    $_SESSION['SUCCESS'][] =  " Successfully Saved!";
} catch (Exception $ex) {
    $ex->getMessage();
}
//header("Location: " . $_SERVER['HTTP_REFERER']);
?>    

在上面的代码中,数据将被添加到发票表中,没有任何错误。

   echo 'ITEM ID'.$invoiceItem_itemID.'<BR/>'; 
   echo 'QUANTITY'.$invoiceItem_qty.'<BR/>';
   echo 'ITEM PRICE'.$invoiceItem_itemPrice.'<BR/>';
   echo 'ITEM TOTAL'.$invoiceItem_totPrice.'<BR/>';
  echo $invoice_ID ;  

该部分也正确打印。但是当我取消注释时,代码发票表或发票项目表中的注释部分将不会被添加。

谁能帮我解决这个问题......

最佳答案

:invoiceItem_itemPrice:invoiceItem_price 中存在拼写错误

$sql1 = "INSERT INTO `tbl_invoiceitem`(`invoiceItem_itemID`,"
    . " `invoiceItem_qty`, "
    . "`invoiceItem_price`,"
    . " `invoiceItem_totPrice`, "
    . "`invoice_ID`) "
    . "VALUES(:invoiceItem_itemID ,"
    . ":invoiceItem_qty,:invoiceItem_Price,:invoiceItem_totPrice,:invoice_ID)";
$qry1 = $conn->prepare($sql1);

$qry1->execute(array(
    ':invoiceItem_itemID'   => $invoiceItem_itemID,
    ':invoiceItem_qty'      => $invoiceItem_qty,
    ':invoiceItem_Price'    => $invoiceItem_price,
    ':invoiceItem_totPrice' => $invoiceItem_totPrice,
    ':invoice_ID'           => $invoice_ID
));

关于php - php、pdo中数据没有添加到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33872862/

相关文章:

PHP 显示内表的 $rows

MySQL 将日期时间转换为 UTC UNIX_TIMESTAMP

php - 使用 php 和 pdo 插入的表单

php - 确定 SQL UPDATE 是否更改了列的值

php - 如何在 PHP PDO 中创建函数插入

javascript - 防止 X 个数字出现在选项中

php - 问题foreach()提供了无效的参数

php - 为什么这些 PDO 语句中的数据没有插入到表(该表包含外键)中?

java - 使用参数调用 Java 应用程序,但从不等待答案

sql - 更新涉及 groupby 子句的表,同时避免使用临时表