我已经为我的项目工作的库存系统提供了一些代码。代码中的所有内容都可以正常工作,除非您尝试更新IID为“1”的项目(或者至少我认为问题是这样)
function useItem($uid, $iid)
{
$sql = "UPDATE player_inv SET amount = amount - 1 WHERE uid = :uid AND iid = :iid";
$que = $this->db->prepare($sql);
$que->bindParam('uid', $uid);
$que->bindParam('iid', $iid);
try{
$que->execute();
if($que)
{
echo "True";
}
else
{
echo "Wut?";
}
}catch(PDOException $e){echo $e->getMessage();}
}
function ReapWhatYouSow($iid, $uid)
{
$sql = "UPDATE users join store on users.uid = :uid and iid = :iid SET health = store.type_value + health;";
$que = $this->db->prepare($sql);
$que->bindParam('uid', $_SESSION['uid']);
$que->bindParam('iid', $iid);
try{
$que->execute();
if($que)
{
$this->useItem($iid, $uid);
}
else
{
echo "wut?";
}
}catch(PDOException $e){ echo $e->getMessage(); }
}
请忽略回声......我真的很厌倦错误报告,所以'wut'和'true'是我查看某些功能是否正常的方法。
答案 0 :(得分:1)
没关系。我是个白痴。谢谢你们的帮助!这是一个可变的问题,我用KID切换了UID。所以查询正在删除与用户ID#
具有相同ID#的每个项目答案 1 :(得分:0)
第一次spontanius反应......函数ReapWhatYouSow($iid, $uid)
是否被调用?我想是的,但是这一行没有意义:
$que->bindParam('uid', $_SESSION['uid']); //No sense to pass $uid to the function if a session-variable is used
应该是:
$que->bindParam('uid', $uid);