SQL没有更新表

时间:2013-08-03 21:02:39

标签: php mysql sql

我已经为我的项目工作的库存系统提供了一些代码。代码中的所有内容都可以正常工作,除非您尝试更新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'是我查看某些功能是否正常的方法。

2 个答案:

答案 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);