0

我不是 php 程序员,但将三个非常相似的查询拼接到同一个表中,前两个工作,最后一个函数 get_adres 没有返回任何输出。请问有什么问题吗?编辑:前两个函数工作正常,最后一个 get_adres() 返回逗号。

function get_posit() {
    global $wpdb;
    $tbl_ads = $wpdb->prefix."awpcp_ads";
    $adid = get_query_var('id');
    $ad_lat = $wpdb->get_var($wpdb->prepare("SELECT geo_lat FROM $tbl_ads WHERE ad_id='$adid';"));
    $ad_lon = $wpdb->get_var($wpdb->prepare("SELECT geo_lon FROM $tbl_ads WHERE ad_id='$adid';"));
    $adpos = $ad_lat.",".$ad_lon;
    return $adpos;
}

function get_titles() {
    global $wpdb;
    $tbl_ads = $wpdb->prefix."awpcp_ads";
    $adid = get_query_var('id');
    $adtitle = 'Position '.$wpdb->get_var($wpdb->prepare("SELECT ad_title FROM $tbl_ads WHERE ad_id='$adid';"));
    return $adtitle;
}

function get_adres() {
    global $wpdb;
    $tbl_ads = $wpdb->prefix."awpcp_ads";
    $adid = get_query_var('id');
    $street = $wpdb->get_var($wpdb->prepare("SELECT adcontact_countyvillage FROM $tbl_ads WHERE   ad_id='$adid';"));
    $plz = $wpdb->get_var($wpdb->prepare("SELECT adcontact_state FROM $tbl_ads WHERE ad_id='$adid';"));
    $city = $wpdb->get_var($wpdb->prepare("SELECT adcontact_city FROM $tbl_ads WHERE ad_id='$adid';"));
    $adrs = $street.",".$plz.",".$city;
    return $adrs;
}
4

1 回答 1

0

get_var 返回单个值。对于底部的查询,请尝试向它们添加限制 1,所以

    $street = $wpdb->get_var($wpdb->prepare("SELECT adcontact_countyvillage FROM $tbl_ads WHERE   ad_id='$adid' LIMIT 1;"));
    $plz = $wpdb->get_var($wpdb->prepare("SELECT adcontact_state FROM $tbl_ads WHERE ad_id='$adid' LIMIT 1;"));
    $city = $wpdb->get_var($wpdb->prepare("SELECT adcontact_city FROM $tbl_ads WHERE ad_id='$adid' LIMIT 1;"));
于 2013-08-22T03:14:56.040 回答