我正在更新以前完美运行的wordpress插入查询。 我正在添加单个表单文本输入并向数据库添加单个varchar字段。
当我将textfield添加到表单并尝试将其插入数据库时,我收到错误:
WordPress database error: [Unknown column 'data_created_by' in 'field list']
我一直在寻找最近2小时的解决方案,我读到了隐藏的空白,数据库未正确设置,但无论我将数据库字段命名为什么,无论我将表单输入命名为何,都会发生此错误。
表格输入
<input type="text" id="data-created-by" name="data-created-by" class="form-control" value="" />
MySQL插入
if($wpdb->insert(
'cram_management',
array(
'user_id' => get_current_user_id(),
'from' => $from_date,
'to' => $to_date,
'other_comments' => $_POST["other-comments"],
'outputs_comments' => $_POST["outputs-comments"],
'outcomes_comments' => $_POST["outcomes-comments"],
'data_comments' => $_POST["data-comments"],
'data_created_by' => $_POST["data-created-by"]
),
array(
'%d',
'%s',
'%s',
'%s',
'%s',
'%s',
'%s',
'%s'
)
)){ echo "success;"}
当我省略该行(以及相应的%s)
时,我获得了成功'data_created_by' => $_POST["data-created-by"]
我检查了phpmyadmin,字段名称中没有空格。 我可以使用phpmyadmin向此字段添加内容。 我删除了HTML和php中的所有空格,但无济于事。
数据库
CREATE TABLE IF NOT EXISTS `cram_management` (
`management_id` int(11) NOT NULL auto_increment,
`user_id` int(11) NOT NULL,
`from` date NOT NULL,
`to` date NOT NULL,
`other_comments` text NOT NULL,
`outputs_comments` text NOT NULL,
`outcomes_comments` text NOT NULL,
`data_created_by` varchar(80) default NULL,
`data_comments` text NOT NULL,
PRIMARY KEY (`management_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ;
如果有人能告诉我为什么会收到此错误,我将不胜感激。
标记