Wordpress用主键自动增量写入数据库不起作用

时间:2018-09-29 17:39:20

标签: php wordpress

我正在尝试使用PHP脚本写入数据库表。这是我的代码:

$tablename = $wpdb->prefix.'test';

    $wpdb->insert( $tablename, array(
        'id' => DEFAULT,
        'post_id' => $post_id, 
        'user_id' => $user_id,
        array( '%s', '%s', '%s' ) 
    ));

尝试我的代码后,出现以下错误:

[29-Sep-2018 17:34:29 UTC] PHP Parse error:  syntax error, unexpected 'DEFAULT' (T_DEFAULT) in C:\xampp\htdocs\wordpress\wp-content\themes\DiviChild\test.php on line 32

我的表有一个主键“ id”,应该是自动递增的。我不知道我在做什么错。

1 个答案:

答案 0 :(得分:1)

如果将“ id”设置为自动递增,则在插入记录时无需包括'id'=>DEFAULT,。插入新记录后,它将在您的表中自动设置。

看来论点有误。 $wpdb->insert接受3个参数,似乎您已经将3rd参数包含在2nd参数中。

 $wpdb->insert( $tablename, 
   array(
    'post_id' => $post_id, 
    'user_id' => $user_id
   ),
   array( '%d', '%s' ) 
);

删除了id,因为它是自动递增的,并且修改了格式化数组,并根据您的评论假定post_id为数字。