在当前表中插入数据并更新另一个表MySQL

时间:2013-05-04 04:01:48

标签: php mysql

我在插入购买表和更新设施表时遇到问题。假设用户使用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'

   )";

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

将此代码用于您的更新

product_current_quantity = product_current_quantity + $product_current_quantity 

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

答案 2 :(得分:0)

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

char