首页 > 解决方案 > WPDB 在一个特定字段中插入 0

问题描述

我正在尝试学习如何使用 WPDB,所以我只编写了一个简单的代码来将数据插入 5 行数据库表中。除了一个文本字段 ( course_desc )之外,所有字段都可以毫无问题地插入,由于某种原因,该字段仅获得“0”作为值。当我通过 PHP My Admin 编辑值时,它工作正常。我无法理解它。

这是我的表结构,这是代码:

global $wpdb;
        $table = $wpdb->prefix.'courses';
        $data = array(
            'course_title' => 'This is a title',
            'course_desc' => 'This is a description',
            'course_time' => 28,
            'course_link' => 'https://whatever.org'
        );
        $format = array('%s', '%d');
        $wpdb->insert($table, $data, $format);

我在这里想念什么?

标签: mysqldatabasewordpressinsert

解决方案


这是未经测试的,但我认为您需要在数组中再添加两个项目以$format说明您要插入的所有列。下面我添加了更多%s格式。希望这可以帮助!

global $wpdb;
$table = $wpdb->prefix . 'courses';
$data = array(
  'course_title' => 'This is a title',
  'course_desc' => 'This is a description',
  'course_time' => 28,
  'course_link' => 'https://whatever.org'
);
$format = array('%s', '%s', '%d', '%s');
$wpdb->insert($table, $data, $format);

推荐阅读