我使用jquery ajax调用从wpdb获取特定数据,得到以下消息:
<b>Fatal error</b>: Call to a member function get_results() on a non-object in <b>C:\\wamp\\www\\maps_en2\\markers.php</b> on line <b>15</b><br />
这是电话:
$.ajax({
type: "POST",
url: "markers.php",
data: ({\'southWestLat\' : southWestLat , \'southWestLng\' : southWestLng , \'northEastLat\' : northEastLat , \'northEastLng\' : northEastLng}),
success: function(msg){
alert( msg );
}
});
这就是所谓的代码标记。php:
<?php
global $wpdb;
$sql = "SELECT user_id, lat, lng FROM coordinates WHERE lat>".$_POST["southWestLat"]." and lat<".$_POST["northEastLat"]." and lng>".$_POST["southWestLng"]." and lng<".$_POST["northEastLng"];
$rows = $wpdb->get_results($sql, OBJECT_K);
...
?>
奇怪的是,当php代码与javascript在同一个文件中时(而不是参数“southWestLat”等,我使用了数字,然后它就工作了。
我应该声明jquery在php文件的twentyten主题文件夹下,但markers.php在根目录下(由于某种原因,当它在主题中时无法使用它)。