Php 在插入mysql之前添加值

Php 在插入mysql之前添加值,php,mysql,Php,Mysql,我试图用从输入框收集的值添加数据库中某列的值 例如:我当前在一列中有500,我想将500添加到从表单(文本框)检索的新值中 这是我的密码 <?php if (isset($_SESSION['user'])) { $author = $_SESSION['user']; //echo $author; // check if posted is sent if (isset($_POST['input'])) { if (empty($_POST['name']) |

我试图用从输入框收集的值添加数据库中某列的值

例如:我当前在一列中有500,我想将500添加到从表单(文本框)检索的新值中

这是我的密码

<?php
     if (isset($_SESSION['user'])) {  
$author = $_SESSION['user'];
//echo $author;
// check if posted is sent   

if (isset($_POST['input'])) {
if (empty($_POST['name']) || empty($_POST['quantity'])) {
echo '<h4 class="alert_info">You Have Not Entered Any Value</h4>';
}      
else {
// retrievings foms data and declaring them as functions
$name = $_POST['name'];
$quantity = $_POST['quantity'];  
$amount = $_POST['amount'];
$category = $_POST['theItems'];    


// Allow apostrophe
$name2 = mysql_real_escape_string($name);
$quantity2 = mysql_real_escape_string($quantity);
$amount2 = mysql_real_escape_string($amount);
$category2 =  mysql_real_escape_string($category);
// inserting the posts 
$insert = "REPLACE INTO drinks SET
name='".$name2."', quantity=' ".$quantity2." ', amount=' ".$amount2." ', category=' ".$category2." ', date=CURDATE()";
if (@mysql_query($insert)) {
echo '<h4 class="alert_info">Drinks added</h4>';
} else {
echo 'Error adding event: ' .
mysql_error() . '';
}
} }
?>


使用
选择
查询从列中提取当前值,将该值添加到从文本框接收到的值中,然后
使用新值更新

您可以按如下操作:

update tableName set columnName = columnName+1

我想你在找这样的东西

<?php
$val = $_POST['quantity'];
$query = "UPDATE drinks SET quantity= quantity + $val WHERE id={put current id here}";
$result = mysql_query($query);
?>


我可以不用while循环来完成吗?当然可以。只需从数据库中像普通一样获取值,然后将其存储在变量中:
$totalVal=$pulledVal+$formVal
然后将
$totalVal
插入数据库。@Xenolithic为什么选择当前值,然后在一个更新查询中进行更新?最佳节目主持人梅林·沃尔德:他的答案更好。@Centril-是的,我同意,我给了他+1分p一旦你从$\u POST中提取数量,你必须清理输入数据-否则一些潜在的黑客可能会对你的数据库做一些令人讨厌的事情。。。一个简单的
$val=isset($\u POST['quantity'])?intval($_POST['quantity']):0就足够了。。。还要检查$val==0,以便在数量为零时不进行更新。@central-是的,当然应该进行有效检查!不过,我只是在演示功能。如果我们谈论的是安全性,你甚至不应该使用mysql\u query()。我还会在中编辑解释为什么
mysql\u query
不受欢迎,它是正确的替代品。