-2

PayPal IPNファイルを作成しようとしていますが、応答がデータベースに挿入されません。少しデバッグした後、関数に1つのエラーがあることがわかりましたが、どれがエラーかわかりません。

次のコードは間違っているようですが、理由はわかりません。それは私にはよさそうだ。私は何か間違ったことをしていますか?

<?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 に答える