特定查询无法在PHP中运行(使用PDO)

时间:2017-11-25 09:17:19

标签: php pdo

下面的php代码运行一个查询,我得到$res = true这意味着查询应该运行 我还检查了PDO对象的运行状况,以确保并发现其他查询正确运行 也没有抓到任何例外。已经没有办法解决这个问题。

function insertPaypalSavedSanity($udi, $isPaypalSaved){
    global $DBH;
    try {
        $sql = "INSERT INTO sanity(user_id, saved_paypal_used_previously) VALUES(:user_id,:sv) ON DUPLICATE KEY UPDATE saved_paypal_used_previously=:sv";
        $sqlcon = $DBH->prepare($sql);
        $res = $sqlcon->execute(array(
            'user_id'=>$_SESSION['userID'],
            'sv'=>$isPaypalSaved));//$res is true after executing the query
        $x = 1;// I put the debugger at this point and run other queries with my PDO object($DBH)
    } catch(Exception $e)
    {
        logger ("sanity queries",$e->getMessage());
    }
}

1 个答案:

答案 0 :(得分:0)

通过将start transaction添加到语句的开头并提交到语句的结尾来解决这个问题。我仍然不知道为什么会这样。