2015-04-07 1 views
0

Я пытаюсь сделать что-то простое. Я думаю, что мой код выглядит здорово, но по какой-то причине $wpdb->insert_id; остается пустым? Я здесь что-то не так? Правильно ли я выполняю передачу переменной? Я даже попытался хранить $wpdb->insert_id; в $_SESSION, но он все еще был пуст.

function insert_stuff() { 
    global $wpdb; 
    $wpdb->insert('mytable', 
     array(
     'column1' => $_REQUEST['formitem1'], 
     'column2' => $_REQUEST['formitem2'], 
     ) 
    ); 
    global $lastid; 
    $lastid = $wpdb->insert_id; 
} 
add_action('add_to_cart', 'insert_stuff'); 

function update_stuff() { 
    global $wpdb; 
    global $lastid; 

    $wpdb->update('mytable', array('column3' => 'newvalue'), array('id' => $lastid), array('%s'), array('%d')); 
} 
add_action('thank_you_page', 'update_stuff'); 

ответ

0

Похоже, вы упускаете массив с> вкладышем $ wpdb- ..

$wpdb->insert(
'table', 
    array(
    'column1' => $var1, 
    'column2' => $var2, 
), 
    array(
    '%d', 
    '%s', 
) 
); 

Примечание:% d = число ..% s = строка ..

Удачи.