我正在尝试创建一个PayPal IPN文件,但响应不会插入数据库。经过一点调试,我发现我的函数有一个错误,但我不知道是哪一个。
下面的代码似乎是错误的,但我不知道为什么。我觉得不错。我做错什么了吗?
<?php
function check_price($price, $id) {
$valid_price = false;
$sql = $wpdb->get_results("SELECT * FROM `webc_products` WHERE id = '$id'");
foreach ( $sql as $prod ) {
$num = (float)$prod->amount;
if($num == $price){
$valid_price = true;
}
}
return $valid_price;
}
$a = check_price(0.01, 1);
?>
此外,我尝试了函数外的代码,不知怎么的,它起作用了。
您的函数正在访问$wpdb
对象,而实际上没有访问它的权限(变量范围)。要么将其作为参数传递给函数(我建议这样做),要么在函数中将其声明为全局。