0

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

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

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

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

  4. 检查输入的任何其他字段的内容,如果输入了一些更新 where article_ID = $article_ID

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

但是,当我第一次使用它时,article_ID分配了一个并插入了模板。现在我不能插入任何其他记录,更奇怪的是,如果我删除该记录,然后使用 newarticle_ID和 INSERT 创建一个新的表单实例,它只是继续添加与 old 相同的记录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

4

1 回答 1

0

我怀疑INSERT它失败了,因为你正在插入INTsas VARCHARs。更改如下 - 删除VARCHAR错误地通过它的单引号。

还要验证您的 SELECT 语句将返回记录,因为您在传递$article_IDie 时使用相同的逻辑删除单引号。也不需要检查随机值。

请使用AUTO_INCREMENTfor article_ID 而不是随机生成值。

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

article_ID将填充一个唯一值

于 2013-08-21T12:28:21.113 回答