Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用sql和php将更新查询中的两列移动到另一列_Php_Sql_Sql Server - Fatal编程技术网

使用sql和php将更新查询中的两列移动到另一列

使用sql和php将更新查询中的两列移动到另一列,php,sql,sql-server,Php,Sql,Sql Server,我有一个php代码,它更新ms sql中的一行。如下所示 LONG | LAT |OLD LONG | OLD LAT | PLATENO 121.666 | 35.222 | | | AA-1982 现在,如果我插入另一个长=121.777的数据 并且LAT=35.333,具有相同的车牌号,它不会插入,而是更新上面的记录,使其与此相同 LONG | LAT | OLDLONG | OLDLAT | PLATENO 121.777 | 35.333 |

我有一个php代码,它更新ms sql中的一行。如下所示

LONG    | LAT |OLD LONG | OLD LAT | PLATENO

121.666 | 35.222 |   |     | AA-1982
现在,如果我插入另一个长=121.777的数据 并且LAT=35.333,具有相同的车牌号,它不会插入,而是更新上面的记录,使其与此相同

LONG |  LAT |   OLDLONG |   OLDLAT |    PLATENO

121.777 | 35.333 |  121.666 |   35.222 |    AA-1982
LONG |  LAT |   OLDLONG |   OLDLAT |    PLATENO

121.666 |   35.222 |     |       | AA-1982

121.666 |   35.222 |     |       | BB-1234
如果你注意到我把lat-long移到OLD-lat和OLD-long

但是,如果我插入另一个没有相同模板的数据,那么它将如下所示

LONG |  LAT |   OLDLONG |   OLDLAT |    PLATENO

121.777 | 35.333 |  121.666 |   35.222 |    AA-1982
LONG |  LAT |   OLDLONG |   OLDLAT |    PLATENO

121.666 |   35.222 |     |       | AA-1982

121.666 |   35.222 |     |       | BB-1234
这是我的密码

$sql1 = "UPDATE TblCurrenttemp
SET LAT = '$finlat', oldlat = (SELECT lat FROM TblCurrenttemp AS LAT1 WHERE (plateno = '$pltefin')),
    LONG = '$finlong', oldlong = (SELECT long FROM TblCurrenttemp AS LONG1 WHERE (plateno = '$pltefin'))
    WHERE  (plateno = '$pltefin')";
$res1 = mssql_query($sql1) or print("Error " . mssql_get_last_message());
我是新来php的,如果我在做正确的事情时遇到了一些麻烦,我很抱歉。我还从其他帖子中复制了一些代码,请耐心等待。

你能试试吗

$sql1 = "UPDATE TblCurrenttemp
SET oldlat = LAT,
oldlong = LONG,
LAT = '$finlat', 
LONG = '$finlong'
WHERE  (plateno = '$pltefin')";
$res1 = mssql_query($sql1) or print("Error " . mssql_get_last_message());

预期的结果是什么?