更新查询返回0个受影响的行

时间:2017-12-01 15:53:23

标签: mysql

我想更新一个名为vm_elements的表。我有2列实物库存和运输数量。要更新这些列,我正在使用更新查询。它正确返回输出但不反映数据库列。

代码:

$sql = 'SELECT * FROM vm_elements';
$result=mysqli_query($link,$sql);
while ($row = mysqli_fetch_array($result)) { 
    $Quantity1=$_POST['p_'.$row['skuID'].'_q1'];
    $Quantity2=$_POST['p_'.$row['skuID'].'_q1'];
    $id=$row['skuID'];
    //mysqli_query($link, "update vm_elements SET physicalStock='$Quantity1', transitQuantity='$Quantity2' WHERE id='$id'");

    //echo "update vm_elements SET physicalStock='$Quantity1', transitQuantity='$Quantity2' WHERE id='$id'";


    $query="update vm_elements SET physicalStock='$Quantity1', transitQuantity='$Quantity2' WHERE id='$id'";

    if(mysqli_query($link, $query))
    {
        echo "Records added successfully.";
    } 
    else
    {
        echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
    }
}

你能告诉我做错了什么吗?我被困住了

1 个答案:

答案 0 :(得分:0)

请记住,除非您的操作进行更改,否则您将无法获得任何“受影响的行”。如果您使用的值与表中已有的值相同,则结果应为0行。

查询可能会返回0个或更多“受影响的行”,或者可能会返回错误。如果您担心正在应用更新,则需要单独测试这两个条件,因为应该进行更改。