2

好的,下面的代码只是意味着我正在使用插入选择删除方法将行移动到其他表中。但是关于这个问题的问题是我有 2 个变量我也想移动,它们是 $profittext 和 $closeb,它们是在另一个 php 文件中定义的。因此,我使用更新函数将其插入到 DB 表中。这 2 个变量的类型分别为十进制 19,2 和十进制 10,5。输出是行的移动有效,但更新功能不起作用,没有输入任何值。有人知道如何解决这个问题吗?

   $mysqli->query("INSERT INTO `trade_history1` (user_id, trade_id, selection, date, type, size, bidprice, offerprice, stoploss, takeprofit,dateclose,close,profitandloss)
    SELECT user_id, trade_id, selection, date, type, size, bidprice, offerprice, stoploss, takeprofit, 'null','null','null'
    FROM `opentrades`
    WHERE `trade_id` = " . $trade_id);

    $mysqli-> query("UPDATE `trade_history1` SET `dateclose` = CURRENT_TIMESTAMP,
                                                 `close` = '{$closedb}',
                                                 `profitandloss` = '{$profittext}'
                                                WHERE `trade_id`= '$trade_id'");

    $mysqli->query("DELETE FROM `opentrades` WHERE `trade_id` = '$trade_id'");
4

1 回答 1

2

用这个:

$mysqli->query("INSERT INTO `trade_history1` (user_id, trade_id, selection, date, type, size, bidprice, offerprice, stoploss, takeprofit,dateclose,close,profitandloss) SELECT user_id, trade_id, selection, date, type, size, bidprice, offerprice, stoploss, takeprofit, 'null','null','null'
FROM `opentrades` WHERE `trade_id` = '".$trade_id."'");
$mysqli-> query("UPDATE `trade_history1` SET `dateclose` = CURRENT_TIMESTAMP, `close` = '".$closedb."', `profitandloss` = '".$profittext."' WHERE `trade_id`= '".$trade_id."'");
$mysqli->query("DELETE FROM `opentrades` WHERE `trade_id` = '".$trade_id."'");
于 2013-08-19T10:40:31.860 回答