gpt4 book ai didi

php - 如何在 MySQL 中添加两个表中的两列?

转载 作者:行者123 更新时间:2023-11-29 19:41:09 26 4
gpt4 key购买 nike

我有3个表:controller、allot_compnts和prev_allot_compnts,3个表具有相同的字段,当我单击提交按钮时,allot_compnts中的值将复制到prev_allot_compnts并从allot_compnts中删除

代码:

  $id=@$_POST['submit']
$type = isset($_POST['comp_type'])? $_POST['comp_type'] : '';
$name = isset($_POST['comp_name'])? $_POST['comp_name'] :'';
$comp = isset($_POST['num_comp'])? $_POST['num_comp'] :'';

//Insert

$sql1="INSERT INTO prev_alloted_comp(id,comp_type,comp_name,num_comp)
SELECT comp_type,comp_name,num_comp FROM alloted_comp WHERE id='$id'" ;

//Delete

$sql2="delete from alloted_comp where id='$id'";

//Here i'm trying to update controller table

if($type === 'Controller'){

$sql3= "UPDATE comp_controller SET
num_comp=(num_comp+$_POST[num_comp]) WHERE comp_name ='$name'
ON DUPLICATE KEY UPDATE num_comp=num_comp+'$_POST[num_comp]'";

}

我尝试根据 $_POST[num_comp] 更新 Controller 表中的 num_comp,但 Controller 表中的值未更新

我是新手,请任何人帮助我如何做到这一点

更新:我刚刚将代码更新为

$id=@$_POST['submit']
$type = isset($_POST['comp_type']);
$name = isset($_POST['comp_name']);
$comp = isset($_POST['num_comp']);

//Insert

$sql1="INSERT INTO prev_alloted_comp(id,comp_type,comp_name,num_comp)
SELECT comp_type,comp_name,num_comp FROM alloted_comp WHERE id='$id'" ;

//Delete

$sql2="delete from alloted_comp where id='$id'";

//Here i'm trying to update controller table

if($type === 'Controller'){

$sql3= "UPDATE comp_controller SET
num_comp=(num_comp+$_POST[num_comp]) WHERE comp_name ='$name'";

}

仍然无法工作

最佳答案

带有 $_POST['num_comp'] = 123$sql 变量被解析为 UPDATE comp_controller SET num_comp=(num_comp+123) WHERE comp_name =重复 key 更新时的“某个名称”num_comp=num_comp+'123'

可能的错误

  1. isset($_POST['num_comp'])? $_POST['num_comp'] :'';

如果 num_comp 未在 POST 请求中发送,则清空值 num_comp。这将自动导致 SET num_comp=(num_comp+) 不再是有效的 SQL 语句。

  • num_comp=num_comp+'$_POST[num_comp]'
  • 解析为num_comp=num_comp+'123'。您尝试将字符串添加到数字中。

  • 重复 key 更新
  • 据我所知ON DUPLICATE KEY UPDATE仅对INSERT有效声明。

    关于php - 如何在 MySQL 中添加两个表中的两列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41340885/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com