我为我的网站开了一家商店,让它运转起来,但发现它缺乏正确购买商品的能力。从透视角度来看,你不要走进商店,抓住商品,买它,再拿它,买它,再拿它等等,以获得你想要的数量。你一次抓住它们。我的网站缺乏这样的功能。所以,我试图改变获取股票的代码,到目前为止还没有成功。
我尝试了以下内容:
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;}
和
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;}
和
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;}
但我似乎无法将数量从股票中拿走!
答案 0 :(得分:1)
绑定参数的顺序应与您在SQL语句中使用它们的顺序相对应。这里,项目计数应该是第一个,而id是第二个。即,替换以下行:
$stmt->bind_param("ii", $id, $count);
使用:
$stmt->bind_param("ii", $count, $id);