Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.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
Php Mysql中的数据更新错误';s柱_Php_Mysql - Fatal编程技术网

Php Mysql中的数据更新错误';s柱

Php Mysql中的数据更新错误';s柱,php,mysql,Php,Mysql,很抱歉问了个简单的问题 但是我真的不知道有什么问题 $id = $_POST['id']; //i get the value from form $query = "UPDATE jewelry SET stock = stock - $quantity WHERE jewelid = '".$id."'" mysql_query($query); 但如果我使用此代码: $query = "UPDATE jewelry SET stock = stock - $quantity" 它正常

很抱歉问了个简单的问题

但是我真的不知道有什么问题

$id = $_POST['id']; //i get the value from form
$query = "UPDATE jewelry SET stock = stock - $quantity WHERE jewelid = '".$id."'"
mysql_query($query); 
但如果我使用此代码:

$query = "UPDATE jewelry SET stock = stock - $quantity"
它正常工作,但是每一列都被减去。所以我们必须使用
where
,但是如果我像上面那样使用
where
,它就不工作了

我的代码中的错误在哪里?

试试这个:

$query = "UPDATE jewelry SET stock = 'stock - " . $quantity . "' WHERE jewelid = " . $id;

如果
jewelid
是一个int,则无需添加
='“$id”。
只需执行
=“$id”。
无需单引号

请查阅以下链接,并将其应用于您的代码。如果这是你的真实代码,那它就少了一个分号。你已经问了很多问题,还没有接受任何答案。这个网站是双向的。如果你希望得到帮助,你应该通过接受他们的回答来奖励那些帮助你的人。阅读并开始回馈社区。@Fred ii-非常抱歉,先生。我不知道之前我们必须接受和回答,谢谢你的参考,我会尽快做。你能添加什么样的表吗?
WHERE jewelid='“$id.”“
让你失望,你需要找出原因。我叫你做的事,两次。那没关系。然而,重要的是他们的列是否为int类型,并尝试将整数传递给varchar。MySQL将对这些引用进行补偿。@Jack smith事实并非如此work@Fred-ii-确保我的库存列具有int类型..美元数量中的值是多少?
$query=“UPDATE jewelry SET stock=stock-.“$quantity”“。其中jewelid=“.$id.””