2012-09-11 70 views
-2

我正在尝试制作PayPal IPN文件,但不会将响应插入到数据库中。经过一些调试,我发现我的函数有一个错误,但我不知道哪一个。PHP文件崩溃服务器

看来,下面的代码是错误的,但我不知道为什么。我看起来很好。难道我做错了什么?

<?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); 
?> 

此外,我试过代码之外的功能,它以某种方式工作。

+0

您是否启用了错误报告?如果你不能告诉我们错误是什么,那么很难告诉你。 – PeeHaa

+1

服务器错误日志中是否有任何内容? – andrewsi

+0

不是,但该页面甚至不会显示。我开了:_Server错误 网站在检索http://example.com/test/时遇到错误。它可能因维护而关闭或配置不正确._ – Romeo

回答

7

您正在访问$wpdb对象,但没有实际访问权限(变量作用域)。 要么将​​它作为参数传递给你的函数(我推荐)或者在你的函数中声明它为全局函数。