为了账号安全,请及时绑定邮箱和手机立即绑定

使用 paypal ipn 向用户添加记录时出错

使用 paypal ipn 向用户添加记录时出错

PHP
MMMHUHU 2022-07-22 09:26:19
我正在尝试在用户付款后向用户添加记录。我目前正在使用的代码:  $ordername = $_POST['item_name']; ,     $user = $_SESSION['username'];    ,$payment_gross     = $_POST['mc_gross'];  $insertOrder = $odb -> query("INSERT INTO orders (id, ordername, content,    status, list, username, date, price) VALUES(NULL, '$ordername', 0, 0, 0,    '$user', 0, , '$payment_gross')");问题是它没有将记录添加到数据库中。
查看完整描述

3 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

修复查询中的问题

您在查询和值参数中传递了 8 个参数 您传递了 9 个参数 "'$user', 0, , '$payment_gross'" 只需在 "0," 后删除一个 ","


查看完整回答
反对 回复 2022-07-22
?
湖上湖

TA贡献2003条经验 获得超2个赞

$odb 的类型是什么?如果它是一个 PDO 对象,你应该调用


$odb->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

这样调用query将显示错误是什么。


但是,从查看您的 SQL 来看,您似乎有 8 个命名参数,但值列表中有 9 个,尽管其中一个是空的。因此,请确保您传递了正确的参数。


- 编辑 -


查看上面的代码,顶部似乎有额外的逗号。我已经整理了您的代码并添加了错误捕获。


它会将您的代码结果写入文件results.txt。调用此方法后,查看此文件以查看发生了什么。


$insertOrder='?';

$error='?';

try

{

    $ordername = $_POST['item_name'];

    $user = $_SESSION['username'];

    $payment_gross = $_POST['mc_gross'];


    $odb->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

    $insertOrder = $odb -> query("INSERT INTO orders (`ordername`, `content`, `status`, `list`, `username`, `date`, `price`) VALUES ('$ordername', 0, 0, 0,'$user', 0,'$payment_gross')");

}

catch (Exception $ex)

{

    $error=$ex->getMessage();

}


file_put_contents('results.txt',"error: $error - sqlresult: $insertOrder");


查看完整回答
反对 回复 2022-07-22
?
芜湖不芜

TA贡献1796条经验 获得超7个赞

尝试这个。


$ordername = $_POST['item_name'];

$user = $_SESSION['username'];

$payment_gross     = $_POST['mc_gross'];


$insertOrder = $odb -> query("INSERT INTO orders (id, ordername, content, status, list, sername, date, price) 

 VALUES(NULL, '$ordername', 0, 0, 0, '$user', 0, '$payment_gross')");


查看完整回答
反对 回复 2022-07-22
  • 3 回答
  • 0 关注
  • 198 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号