2015-11-19 69 views
0

我有讓我的代碼問題運行:運行功能,如果形式是成功的

if(isset($_POST["associate"])) { 

    $partner = $_POST['partner']; 
    $location = $_POST['location']; 

    function Associate($partner, $location) { 

    if ($commit = $wpdb->query("INSERT INTO partners_locations (partners_locations_id, partner_id, location_id) VALUES (NULL, '".$partner."', '".$location."')")) { 

     echo 'Success'; 

    } else { 

     echo 'Failed to commit to Database'; 

    } 
    } 

    Associate($partner, $location); 

} else { 

echo 'Failed'; 

} 

Fatal error: Call to a member function query() on a non-object in /home/myremovalsquote/public_html/wp-content/plugins/myremovalsquote/inc/partners.php on line 138

線138 = 如果($提交= $ wpdb->查詢(「INSERT INTO partners_locations(partners_locations_id,PARTNER_ID,LOCATION_ID)VALUES(NULL, ' 「$的合作伙伴。」'「」。$位置。 「')」)){

+2

$ wpdb沒有在Associate()函數的作用域中定義。將它作爲參數傳遞給函數,放棄函數或使其成爲全局函數(最差)。 – Calimero

+0

偉大的工作,所以我只是在我做的每個功能中調用它?因爲我將創建許多使用$ wpdb –

+1

的函數。您還需要將'$ updb'傳遞給您的函數。否則,它超出範圍,不能使用。你可以像'function Associate($ partner,$ location,$ updb){// ...' – Peter

回答

0
if(isset($_POST["associate"])) { 

    $partner = $_POST['partner']; 
    $location = $_POST['location']; 

    function Associate($partner, $location) { 
    global $wpdb; 
    if ($commit = $wpdb->query("INSERT INTO partners_locations (partners_locations_id, partner_id, location_id) VALUES (NULL, '".$partner."', '".$location."')")) { 

    echo 'Success'; 

} else { 

    echo 'Failed to commit to Database'; 

} 
} 

Associate($partner, $location); 

} else { 

echo 'Failed'; 

}