2013-06-26 127 views
0

我想修改我的代碼,而不是隻是在MySQL表中插入一個新行,它可以檢查是否有一個具有相同的項目編號,並更新它。修改插入到更新

PHP代碼

<?php 
    $con=mysqli_connect("localhost","root","root","inventory"); 

    // Check connection 
    if (mysqli_connect_errno($con)) 
     { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
     } 



    $sql = "INSERT INTO `current stock` (ItemNumber, Stock) 
       VALUES 
      ('".$_POST['ItemNumber']."', '".$_POST['Stock']."')"; 

    if (!mysqli_query($con,$sql)) 
     { 
     die('Error: ' . mysqli_error($con)); 
     } 
    echo "1 record added"; 


    mysqli_close($con); 
    ?> 
+0

你有任何問題的關鍵? – Oswald

+1

可能的重複:http://stackoverflow.com/questions/1218905/how-do-i-update-if-exists-insert-if-not-aka-upsert-or-merge-in-mysql – showdev

回答

1

您可以使用ON DUPLICATE KEY UPDATE語法,

$sql = " 
    INSERT INTO `current stock` (ItemNumber, Stock) 
    VALUES ('$_POST[ItemNumber]', '$_POST[Stock]') 
    ON DUPLICATE KEY UPDATE 
    Stock = '$_POST[Stock]' 
"; 

ItemNumber應該是主鍵/唯一在這種情況下