2015-11-19 3 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'; 

}

Смежные вопросы