插入/更新问题(重复相同的记录,不能再输入)


Insert/Update Issue (Same record repeated, no more can be entered)

我在这里有点困惑,我的代码有点太长了,无法全部发布,但我会提供手头操作的逻辑列表,如果有帮助,可以在需要的地方提供代码,但问题很奇怪,我认为这与代码无关。这是文章网站的标准上传表格。

  1. 首次加载时,分配随机article_ID

  2. 检查article_ID是否已经存在。如果是,重复步骤1

  3. 保存(提交)时,插入article_ID(唯一需要的值[用于测试目的],其余可以是NULL

  4. 输入的任何其他字段都将检查内容,如果有输入的字段,则更新article_ID = $article_ID所在的位置。

这是一个非常简单的系统,用article_ID制作一篇文章的模板,其中所有其他字段都可以是NULL。用户在添加内容的过程中逐段保存,直到输入了所有字段,以便发布文章。

然而,我第一次让它工作时,分配了一个article_ID并插入了模板。现在我不能插入任何其他记录,更奇怪的是,如果我删除该记录,然后用新的article_ID和insert创建一个新的表单实例,它只会不断地用旧的article_ID添加相同的记录,即使表单没有会话变量,旧的article_ID仍在存储。

有人有类似的经历吗?

数据库结构

  `article_ID`            int(10)      NOT NULL,
  `author_ID`             int(5)       NOT NULL,
  `article_title`         varchar(50)  NOT NULL,
  `article_subtitleshort` varchar(120) default NULL,
  `article_subtitlelong`  varchar(180) default NULL,
  `article_category`      varchar(20)  NOT NULL,
  `article_featureimage`  varchar(15)  default NULL,
  `article_icon`          varchar(15)  default NULL,
  `article_publishdate`   varchar(12)  default NULL,
  `article_lastsavedate`  varchar(12)  NOT NULL,
  `article_status`        varchar(11)  NOT NULL default 'unpublished',
  `article_firstimage`    varchar(15)  default NULL,
  `article_intro`         varchar(600) default NULL,
  `article_firsttext`     blob,
  `article_secondimage`   varchar(15)  default NULL,
  `article_secondtext`    blob,
  `article_thirdimage`    varchar(15)  default NULL,
  `article_youtube`       varchar(50)  default NULL,
  `article_gallery`       varchar(10)  default NULL,
  PRIMARY KEY  (`article_ID`)

相关代码http://snippi.com/s/57j8i7e

我怀疑INSERT失败了,因为您正在将INTs插入为VARCHARs。按如下方式更改-删除将其错误地作为VARCHAR传递的单引号。

还要验证SELECT语句是否会在传递$article_ID时使用相同的逻辑返回记录,即删除单引号。也不需要检查随机值。

请将AUTO_INCREMENT用于article_ID,而不是随机生成值。

 mysql_query("INSERT INTO articles (author_ID) VALUES ($author_ID)");

article_ID将填充一个唯一值