1

我正在尝试在 wordpress 中实现自动完成功能,但出现以下错误:

致命错误:在第9行的 >'...get_airports.php' 中调用未定义的方法 stdClass::get_results()

以下是我的代码:

html: <input type="text" name="airports" id="airports" />

php: global $wpdb;

$q = strtolower($_GET["q"]);
if (!$q) return;

$wpdb->iata_airport_codes = $wpdb->prefix . "iata_airport_codes"; 
$airport_list_db = $wpdb->
get_results("SELECT * FROM `wp_iata_airport_codes` WHERE `airport` LIKE '%$q%' LIMIT   0,15");

foreach($airport_list_db as $airports){

 echo $airports->airport . "\n";

}

js: jQuery(document).ready(function() {
$("#airports").autocomplete("get_airports.php", {
    width: 230,
    matchContains: true,
    selectFirst: false
});
 });

任何帮助将不胜感激thanx。

4

2 回答 2

1

你应该插入

require_once('wp-blog-header.php');

当您想在不属于 WordPress 插件且不存在于主题的 functions.php 的文件中使用$wpdb时,在您的代码之前。

顺便说一句,如果您为 AJAX 请求创建自定义处理程序会更好。

于 2012-11-27T09:28:56.387 回答
0

解决了!!!我使用 mysql_connect 直接连接到 db,然后使用 mysql_fetch_array($result, MYSQL_ASSOC) 循环并显示结果。那行得通,但仍然不知道错误来自哪里,可能是因为我将 'get_airports.php' 放在了 wordpress 之外的站点根目录中。感谢所有的帮助。

于 2012-11-06T08:42:30.770 回答