Php 正在尝试验证PayPal支付金额-MySQL IPN
我正在尝试验证Pay Pal订阅IPN的mc_gross变量 下面的代码不断为amount#u数据提供“Resource id#12”值。我试图验证的数字是0.05,这是用户付款时放在表中的数字。变量$id测试正确,数字(0.05)在payment_amount列中,所以我不知道为什么它不能执行此查询。我是MYSQL新手,所以我为任何明显的错误道歉Php 正在尝试验证PayPal支付金额-MySQL IPN,php,mysql,paypal,paypal-ipn,Php,Mysql,Paypal,Paypal Ipn,我正在尝试验证Pay Pal订阅IPN的mc_gross变量 下面的代码不断为amount#u数据提供“Resource id#12”值。我试图验证的数字是0.05,这是用户付款时放在表中的数字。变量$id测试正确,数字(0.05)在payment_amount列中,所以我不知道为什么它不能执行此查询。我是MYSQL新手,所以我为任何明显的错误道歉 $payment_amount = mysql_real_escape_string($_POST['mc_gross']); $amount
$payment_amount = mysql_real_escape_string($_POST['mc_gross']);
$amount_data = mysql_query ("SELECT * FROM subscriber WHERE payment_amount = '$payment_amount' AND id = '$id' ");
if ($amount_data != $_POST['mc_gross']) {
$errmsg .= "'mc_gross' does not match: ";
$errmsg .= $_POST['mc_gross']."\n";
file_put_contents(dirname(__FILE__).'/logs/ipn.log',"\n###AMOUNT Don't MATCH Amount in Database='$payment_amount' Amount in requested='$amount_data'for id '$id'###\n",FILE_APPEND);
}
使用mysql\u fetch\u row()
获取$amount\u数据。mysql\u query()只返回资源id
$amount_data = mysql_query ("SELECT * FROM subscriber WHERE payment_amount = '$payment_amount' AND id = '$id' ");
$row = mysql_fetch_row($amount_data);
echo $row[0];
检查链接这是有效的:
$payment_amount = mysql_real_escape_string($_POST['mc_gross']);
//$amount = mysql_query ("SELECT payment_amount FROM subscriber WHERE id = '$id'");
$amount_data = mysql_query ("SELECT * FROM subscriber WHERE payment_amount = '$payment_amount' AND id = '$id' ");
$row = mysql_fetch_row($amount_data);
if ($row[6] != $_POST['mc_gross']) {
$errmsg .= "'mc_gross' does not match: ";
$errmsg .= $_POST['mc_gross']."\n";
file_put_contents(dirname(__FILE__).'/logs/ipn.log',"\n###AMOUNT Don't MATCH Amount in Database='$row[6]' Amount in requested='$payment_amount' for id '$id'###\n",FILE_APPEND);
}
但这将返回一个数组。我不能选择付款金额和id汇合的单元格吗?@user1390395 print\u r($amount\u data)并发布结果