2013-07-30 28 views
0

我有一個領域的MySQL表稱爲點和值是19,當我使用更改值:刪除值

<?php 
$con=mysqli_connect("blah", 'blah', 'blah', "blah"); 
// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

$sql="INSERT INTO Social_points (`points`) 
VALUES 
('$_POST[Jpoints]')"; 

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

mysqli_close($con); 
?> 

從以前的頁面讀取表格數據,它工作正常然而,它只是將價值增加到原始價值的結尾,例如如果我有19作爲原始值,然後輸入5的形式它將更改爲195.任何想法

+1

使用需要使用'UPDATE'查詢 – DevZer0

+0

我同意Cuewizchris的回答。您的POST [Jpoints]值會附加上以前的值,以及您爲什麼面臨此類問題。 –

回答

1

如果您必須添加值作爲新記錄,然後使用INSERT查詢,否則使用UPDATE查詢。

1

使用UPDATE語法,而不是插入..

$sql="UPDATE Social_points set (`points`) 
VALUES 
('$_POST[Jpoints]')"; 
1

試試這個隊友

更新social_points設定點=轉換(VARCHAR(5),點)+ '5'

1

這只是在黑暗中的野生刺:

您正在使用POST方法,所以我想你是通過AJAX調用該腳本的。我的下一個猜測是,在表單被髮送之前,你可能會用Javascript添加原始值和新值。

所以可能發生在Javascript中的是這樣的: 而不是添加這兩個值,它們被連接,然後發送到數據庫,被視爲一個字符串(JPoints)。

如果我是對的,則需要在Javascript中將這兩個值都轉換爲int。

0

從數據庫讀取數據。

例如您添加一個項目

取最後添加項目的ID並更新它。

<?php 
    // before this you have a query for last added item. 
    $data['itemid']; 
    $_POST['newvalue']; 
    $data['value']; 

    //if the value 19 and the new value 5 this will become 195 
    $newvalue = trim($data['value'] . $_POST['newvalue']); 

    $sql->query("UPDATE tablename SET value = '.$newvalue.' WHERE itemid = '.$data['itemid'].'"); 
?>