-2

我正在尝试制作一个 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);
?>

此外,我尝试了函数之外的代码,并且它以某种方式工作。

4

1 回答 1

7

您的函数正在访问该$wpdb对象而实际上没有访问它(变量范围)。要么将其作为参数传递给您的函数(我建议这样做),要么在您的函数中将其声明为全局。

于 2012-09-11T15:16:22.020 回答