如何通过插件使用wpdb创建数据库表、添加数据、更新和删除?

时间:2013-08-23 作者:vickythegme

我刚刚开始用数据库创建插件。我知道在激活插件时要创建自定义数据库。我只是想知道我们是否可以在前端创建表,比如添加字段名、字段类型。我还尝试创建一行值,但这些值似乎没有插入到表中。下面是我向表中添加值的代码。

 function test_get_log_table_columns(){
return array(
    \'log_id\'=> \'%d\',
    \'user_id\'=> \'%d\',
    \'activity\'=>\'%s\'
);
}
 function insert_data_into_table(){
  global $wpdb;
 $logid=$_POST[\'logid\'];
 $userid=$_POST[\'userid\'];
//Set default values
 $data = wp_parse_args($data, array(
             \'user_id\'=> get_current_user_id(),
             \'date\'=> current_time(\'timestamp\'),
));

//Check date validity
if( !is_float($data[\'date\']) || $data[\'date\'] <= 0 )
    return 0;

//Convert activity date from local timestamp to GMT mysql format
$data[\'activity_date\'] = date_i18n( \'Y-m-d H:i:s\', $data[\'date\'], true );

//Initialise column format array
$column_formats = test_get_log_table_columns();
//Force fields to lower case
$data = array_change_key_case ( $data );

//White list columns
$data = array_intersect_key($data, $column_formats);

//Reorder $column_formats to match the order of columns given in $data
$data_keys = array_keys($data);
$column_formats = array_merge(array_flip($data_keys), $column_formats);
 $wpdb->insert($wpdb->wptuts_activity_log, $data, $column_formats);
return $wpdb->insert_id;

}
 function retrieve_val_data() {
global $wpdb;

 }
是否可以通过前端添加、删除和更新表中的数据?我的意思是在激活插件后,从一个单独的菜单页面添加、编辑、删除数据值。

1 个回复
SO网友:J.D.

是的,可以使用插件在自定义表中添加、更新和删除数据。

当您运行insert_data_into_table() 函数,会出现哪些错误?

结束