我在插入购买表和更新设施表时遇到问题。假设用户使用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'
)";
我做了一些研究,我想我需要使用触发器。但我以前从未使用触发器。任何帮助都会很棒。谢谢!
答案 0 :(得分:0)
如果您对查询有疑问,请执行您的查询并更好地使用echo语句。 使用“php.net”
答案 1 :(得分:0)
将此代码用于您的更新
product_current_quantity = product_current_quantity + $product_current_quantity
他们可以将多少数量添加到您的产品数量中,并将它们与当前数字相加。
答案 2 :(得分:0)
您在没有任何条件的情况下对同一个变量$ sql使用了insert查询和更新查询。如果是这样,则始终只执行以下查询。 然后,只有更新才会在您的表格中反映插入。
char