在wordpress数据库中使用自定义表

时间:2011-03-02 04:47:57

标签: php javascript wordpress

我一直试图通过.ajax帖子简单地在wordpress dbase中调用一个表,然后返回我想要的值,但是我在返回的页面上得到了这个错误:“调用成员函数get_results()在非对象上“。

这是我的php文件:

<?php 
global $wpdb;


if (isset($_POST['state'])) {
    $results=$wpdb->get_results("SELECT DISTINCT make FROM cz_cars ORDER BY make ASC");
    echo $results[0][0];

exit;
}

?>

这是我正在使用的jquery:


jQuery(document).ready(function() 
{

        jQuery("#caryear").change(function() 
        { 
            jQuery.ajax(
            { 
                type: "POST", 
                url: "wp-content/themes/storefront/includes/post-yearmakel.php",        
                data: ({ 'state' : jQuery("#caryear").val() }), 
                success: function(msg)
                {
                    jQuery('#carmake').append('' + msg + '');
                }
            });
        });

});

当我在php文件中注释掉数据库内容时,这段代码工作正常,只是回显一个字符串。我有与其他包含的php文件,它被wordpress识别。不知道这里发生了什么......我想全球$ wpdb;会使这项工作!

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

声明某些内容global仅在global范围之外有意义。

第一个脚本没有看到初始化的$wpdb。您需要include WordPress引擎或至少设置部分$wpdb

答案 1 :(得分:0)

我不确定问题是否得到了回答,但我相信你需要包括 wp-load.php档案。

它应该在wordpress root install中。它将为您提供对wp全局变量的访问。