我有这个疑问,这个人是在COMP_NAME做工精细如何在MySQL数据库中减去一个基于另一个表值的表值?
$qu= "UPDATE comp_controller SET num_comp=(num_comp-(SELECT num_comp FROM alloted_comp WHERE comp_name="Arduino uno")) WHERE comp_name ="Arduino uno"";
我已经使用预定义的价值,但必须从以下查询得到COMP_NAME
$sql="INSERT INTO alloted_comp (comp_type,comp_name,num_comp)VALUES ('$_POST[comp_type]','$_POST[comp_name]','$_POST[num_comp]') ";
如何让从第一次查询插入值第二个查询
更新:
我modifie d我的代码
$type = isset($_POST['comp_type'])? $_POST['comp_type'] : '';
$name = isset($_POST['comp_name'])? $_POST['comp_name'] :'';
$comp = isset($_POST['num_comp]'])? $_POST['num_comp]'] :'';
$sql="INSERT INTO alloted_comp (comp_type,comp_name,num_comp)
VALUES ('$_POST[comp_type]','$_POST[comp_name]',$_POST[num_comp])
ON DUPLICATE KEY UPDATE num_comp=num_comp+'$_POST[num_comp]'";
$qu= mysql_query("UPDATE comp_controller SET num_comp=
(num_comp-(SELECTnum_comp FROM alloted_comp
WHERE comp_name='$name'))WHERE comp_name ='$name' ");
现在我面临着新的问题,变电站,如果我进入num_comp 1,它将值2或3或有时垃圾值
该代码易受SQL注入攻击 –
使用准备好的查询或mysqli_real_escape_string来转义变量。 –
@HikmatSijapati谢谢你的回答,工作正常,但有减法问题。如果我输入num_comp 1,它会减去值为2或3或有时在comp_controller中的num_comp变为0 – kiran