0

我在插入购买表和更新设施表时遇到问题。假设用户使用 product_id 和 product_quantity 进行了购买。

查询正在运行。但它使用相同的数据插入两次,而不是更新设施表。

当用户点击提交时,我想将 product_id 和 product_quantity 插入到购买表中。并使用与之关联的 product_id 和 product_quantity 更新设施表。

这是我的代码

<?php
include 'dbconn.inc.php';
include 'functions.inc.php';

 $sql1 = "SELECT * FROM facilities";

 $res = $mysqli->query($sql1);
 $facilities = array();

 while( $row = $res->fetch_array(MYSQLI_ASSOC) ){

 $facilities[]['id'] = $facilities_id;
 $facilities[]['product_id'] = $facilities_product_id;
 $facilities[]['product_current_quantity'] = $product_current_quantity;
}


 $id = $mysqli->real_escape_string ($_POST['id']);
 $purchase_id = $mysqli->real_escape_string( $_POST['purchase_id'] );
 $facility_id = $mysqli->real_escape_string( $_POST['facility_id'] );
 $product_quantity = $mysqli->real_escape_string( $_POST['product_quantity'] );



 $sql1 = "UPDATE facilities
 SET

 `product_current_quantity` = '$product_quantity + $product_current_quantity'


 WHERE $facility_id = $facilities_id AND $id = $facilities_product_id ";


 $sql = "INSERT INTO purchases
 (
 `purchase_id`,
 `facility_id`, 
 `product_quantity`,,
  `product_id`
  )
  VALUES
  (

  '$purchase_id',
  '$facility_id',
  '$product_quantity',
  '$id'

   )";

我做了一些研究,我认为我需要使用触发器。但我以前从未使用过触发器。任何帮助都会很棒。谢谢!

4

3 回答 3

0

如果您对查询有疑问,请执行您的查询并更好地使用 echo 语句。 使用“php.net”

于 2013-05-04T05:03:17.023 回答
0

您已经在没有任何条件的情况下对同一个变量 $sql 使用了插入查询和更新查询。如果总是这样,您的以下查询只会执行。然后不再只更新插入将反映在您的表中。

$sql = "INSERT INTO purchases
 (
 `purchase_id`,
 `facility_id`, 
 `product_quantity`,,
  `product_id`
  )
  VALUES
  (

  '$purchase_id',
  '$facility_id',
  '$product_quantity',
  '$id'

   )";
于 2015-07-10T08:00:52.093 回答
0

将此代码用于您的更新

product_current_quantity = product_current_quantity + $product_current_quantity 

他们可以将多少数量添加到您的产品数量中,并将当前数量相加。

于 2015-07-09T15:07:37.590 回答