2011-04-02 117 views
0

我最近下载并修改了一个IPN监听器,我希望它做的不仅仅是记录捐赠,而是要为用户添加点数。然而它不会什么即使我相信我的代码是正确的。第一个Mysql_Query的作品和记录捐赠,但第二个没有。我需要帮助,请!未执行MySql查询

//require paypal, connection and config 

    $p = new paypal_class; 
    $p->paypal_url = $payPalURL; 

    if ($p->validate_ipn()) 
    { 
     if($p->ipn_data['payment_status']=='Completed') 
     { 
      $amount = $p->ipn_data['mc_gross'] - $p->ipn_data['mc_fee']; 

      mysql_query("INSERT INTO dc_donations(transaction_id, donor_email, amount, original_request) 
         VALUES (
           '".esc($p->ipn_data['txn_id'])."', 
           '".esc($p->ipn_data['payer_email'])."', 
            ".(float)$amount.", 
           '".esc(http_build_query($_POST))."' 
           )"); 
      mysql_query("INSERT INTO dc_credits (SteamID,Credits) 
         VALUES ('TEST','1000')"); 
     } 
    } 

    function esc($str) 
    { 
     global $link; 
     return mysql_real_escape_string($str,$link); 
    } 

顺便说一句,如果你需要进一步的代码比我将它添加

+0

尝试类似'$ query =“INSERT ...”; $ r = mysql_query($ query)或trigger_error(mysql_error()。$ query);' – 2011-04-02 13:28:22

+1

同时发布表的结构。 – 2011-04-02 13:29:22

+1

我的(非常非常)疯狂的猜测是'STEAMID'是主键,并且在您第二次尝试在表中放置具有相同值('TEST')的行时,查询失败,或者主服务器出现其他问题'dc_credits'键。 – 2011-04-02 13:31:00

回答

0

,使其最先被执行你可以尝试把第二的mysql_query第一,如果有错误,你可以看到错误而不插入到另一张桌子。

+0

我做到了,但仍然只有捐款记录员工作 – TotallyPwnage 2011-04-02 13:38:21