Wordpress:将$ wpdb-> insert_id从1个函数传递给另一个函数?

时间:2015-04-07 13:19:39

标签: wordpress hook wpdb

我想做一些简单的事情。我认为我的代码看起来很合理,但出于某种原因,$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');

1 个答案:

答案 0 :(得分:0)

看起来你错过了一个带有$ wpdb->插入..

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

注意:%d =数字..%s =字符串..

祝你好运。