Mysql $wpdb插入不工作
我已经为我的“案例”帖子类型创建了一个新的元框。当我发布一篇新的“cases”文章时,我想将meta-id插入我创建的名为“sort”的新表中。我使用了以下代码:Mysql $wpdb插入不工作,mysql,wordpress,Mysql,Wordpress,我已经为我的“案例”帖子类型创建了一个新的元框。当我发布一篇新的“cases”文章时,我想将meta-id插入我创建的名为“sort”的新表中。我使用了以下代码: function save_postdata( $post_id ) { global $post, $new_meta_boxes, $wpdb; foreach ($new_meta_boxes as $meta_box) { if ( !wp_verify_nonce( $_POST[$meta
function save_postdata( $post_id ) {
global $post, $new_meta_boxes, $wpdb;
foreach ($new_meta_boxes as $meta_box) {
if ( !wp_verify_nonce( $_POST[$meta_box['name'].'_noncename'], plugin_basename(__FILE__) )) {
return $post_id;
}
if ( 'cases' == $_POST['post_type'] ) {
if ( !current_user_can( 'edit_page', $post_id ))
return $post_id;
} else {
if ( !current_user_can( 'edit_post', $post_id ))
return $post_id;
}
$data = $_POST[$meta_box['name'].'_value'];
if(get_post_meta($post_id, $meta_box['name'].'_value') == "") {
add_post_meta($post_id, $meta_box['name'].'_value', $data, true);
$meta_id = get_post_meta($post_id, 'meta_id', true);
$wpdb->insert( 'sort', array('meta_id'=>$meta_id, 'column_order' => 1));
}
elseif($data != get_post_meta($post_id, $meta_box['name'].'_value', true))
update_post_meta($post_id, $meta_box['name'].'_value', $data);
elseif($data == "")
delete_post_meta($post_id, $meta_box['name'].'_value', get_post_meta($post_id, $meta_box['name'].'_value', true));
}
}
排序表有三个字段:id、meta_id和column_order。有人能看出我做错了什么吗?确保在insert语句中添加“NULL” $wpdb->insert('sort',array('NULL','meta_id'=>$meta_id',column_order'=>1))
这可能是导致问题的原因,同时还要确保列的顺序正确。谢谢,我检查了列的顺序并添加了“NULL”,但仍然不起作用