wordpress中使用ajax的MySQL选择查询
我正在使用ajax将变量传递给我的Twenty12模板中的list.php。在list.php中,我正在执行mysql select查询,但当我在控制台中看到此错误时:wordpress中使用ajax的MySQL选择查询,mysql,ajax,wordpress,Mysql,Ajax,Wordpress,我正在使用ajax将变量传递给我的Twenty12模板中的list.php。在list.php中,我正在执行mysql select查询,但当我在控制台中看到此错误时: <br /> <b>Fatal error</b>: Call to a member function get_results() on a non-object in <b>D:\xampp\htdocs\wordpress\wp-content\themes\twentyt
<br />
<b>Fatal error</b>: Call to a member function get_results() on a non-object in <b>D:\xampp\htdocs\wordpress\wp-content\themes\twentytwelve\list.php</b> on line <b>4</b><br />
致命错误:在第4行的D:\xampp\htdocs\wordpress\wp content\themes\twentyiven\list.php中的非对象上调用成员函数get_results()
我的代码:
search.php
<?php
/*
Template Name: Search
*/
get_header();?>
<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#parent_category").change(function()
{
var parent_category = $(this).val();
if(parent_category != '')
{
$.ajax
({
type: "POST",
url: "<?php echo get_template_directory_uri(); ?>/list.php",
data: "parent_category="+ parent_category,
success: function(option)
{
$("#child_category").html(option);
}
});
}
else
{
$("#child_category").html("<option value=''>-- No category selected --</option>");
}
return false;
});
});
</script>
<select id="parent_category" name="parent_category">
<option value="" selected="selected">-- Select blood group --</option>
<option value="A1 positive">A1 positive</option>
<option value="A1 negative">A1 negative</option>
<option value="A2 positive">A2 positive</option>
<option value="A2 negative">A2 negative</option>
<option value="B positive">B positive</option>
<option value="B negative">B negative</option>
<option value="A1B positive">A1B positive</option>
<option value="A1B negative">A1B negative</option>
<option value="A2B positive">A2B positive</option>
<option value="A2B negative">A2B negative</option>
<option value="AB positive">AB positive</option>
<option value="AB negative">AB negative</option>
<option value="O positive">O positive</option>
<option value="O negative">O negative</option>
<option value="A positive">A positive</option>
<option value="A negative">A negative</option>
</select>
<select id="child_category" name="child_category">
<option value="">-- No location selected --</option>
</select>
<?php get_footer(); ?>
您必须在列表中包含wp blog header
。php
然后将$wpdb
定义为global
您遇到的错误是由于未定义的$wpdb
的定义造成的
<?php include("yourpath/wp-blog-header.php");
global $wpdb;
if(isset($_POST['parent_category']) && $_POST['parent_category'] != '')
{
$result = $wpdb->get_results( "SELECT home_location FROM wp_places WHERE blood_group LIKE '".$getGroupType."%'" );
print_r($result);
}
?>
$wpdb需要wordpress的上下文,一个简单的php文件需要包含上下文wpdb没有被实例化包括/需要wp-load.php文件,这应该是work@SvenSchneider嗨,我有一次包含require_(dirname(dirname(dirname(dirname(FILE)))。/wp load.php');在list.php文件中,现在我在控制台中得到了一个空白数组:(任何想法。作为一般提示,如果您a)将php代码从JavaScript代码中分离出来,b)将JavaScript代码分离为小函数,每个函数只做很小的工作,您可能会更容易调试它。
<?php include("yourpath/wp-blog-header.php");
global $wpdb;
if(isset($_POST['parent_category']) && $_POST['parent_category'] != '')
{
$result = $wpdb->get_results( "SELECT home_location FROM wp_places WHERE blood_group LIKE '".$getGroupType."%'" );
print_r($result);
}
?>