首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP/MySQL SET var = var - var

PHP/MySQL SET var = var - var
EN

Stack Overflow用户
提问于 2015-08-11 16:27:01
回答 1查看 37关注 0票数 1

我为我的网站做了一家商店,并使它工作,但意识到它是缺乏能力,以适当地购买一个项目。为了更好地看待这个问题,你不要走进商店,抓起一件物品,买下它,再买一次,再买一次,再拿一次等等。你一次把他们全抓起来。我的网站缺乏这样的功能。因此,我已经尝试改变了股票的代码,但到目前为止还没有成功。

我试过以下几种方法:

代码语言:javascript
复制
function takestock($id, $count) { 
global $mysqli,$db_table_prefix; 
$stmt = $mysqli->prepare("UPDATE ".$db_table_prefix."shop 
    SET stock = stock - ?
    WHERE 
    id = ?"); 
$stmt->bind_param("ii", $id, $count); 
$result = $stmt->execute(); 
$stmt->close();     
return $result;}

代码语言:javascript
复制
function takestock($id, $count) { 
global $mysqli,$db_table_prefix; 
$stmt = $mysqli->prepare("UPDATE ".$db_table_prefix."shop 
    SET stock = stock - $count
    WHERE 
    id = ?"); 
$stmt->bind_param("ii", $id, $count); 
$result = $stmt->execute(); 
$stmt->close();     
return $result;}

代码语言:javascript
复制
function takestock($id, $count) { 
global $mysqli,$db_table_prefix; 
$stmt = $mysqli->prepare("UPDATE ".$db_table_prefix."shop 
    SET stock = stock - ".$count."
    WHERE 
    id = ?"); 
$stmt->bind_param("ii", $id, $count); 
$result = $stmt->execute(); 
$stmt->close();     
return $result;}

但我似乎不能把数从股票上拿走!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-11 16:31:16

绑定参数的顺序应该与您希望在SQL语句中使用它们的顺序相对应。在这里,项目计数应该放在第一位,第二位是id。即,替换以下一行:

代码语言:javascript
复制
$stmt->bind_param("ii", $id, $count); 

通过以下方式:

代码语言:javascript
复制
$stmt->bind_param("ii", $count, $id); 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31947147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档