0

私はここで少し困惑しており、私のコードは少し長すぎてすべてを投稿することはできませんが、手元にある操作の論理的なリストを提供し、それが役立つ場合は必要な場所にコードを提供できますが、問題は奇妙ですコードとは関係ないと思います。記事サイトの標準アップロードフォームです。

  1. 最初のロード時に、ランダムに割り当てますarticle_ID

  2. article_IDすでに存在するかどうかを確認します。その場合は、手順 1 を繰り返します

  3. 保存 (送信) 時に、挿入article_ID([テスト目的で] 必要な値のみ、残りはNULL)

  4. 入力された他のフィールドの内容がチェックされ、入力された更新がある場合はどこにarticle_ID = $article_ID.

これは非常に単純なシステムです。記事のテンプレートを作成しarticle_ID、他のすべてのフィールドを配置できますNULL。ユーザーは、記事を公開できるようにすべてのフィールドが入力されるまで、コンテンツを少しずつ保存していきます。

ただし、初めて機能するようになったとき、article_IDが割り当てられ、テンプレートが挿入されました。今では他のレコードを挿入することはできません。さらに奇妙なことに、そのレコードを削除してから new と INSERT を使用して新しいフォーム インスタンスを作成すると、フォームにセッションがない場合でもarticle_ID、同じレコードを古い で追加し続けます。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

asINSERTを挿入しているため、 が失敗していると思われます。次のように変更します -誤って通過する単一引用符を削除します。INTsVARCHARsVARCHAR

$article_IDまた、単一引用符を削除して渡すときに同じロジックを使用しているため、SELECT ステートメントがレコードを返すことも確認してください。また、ランダム値をチェックする必要はありません。

AUTO_INCREMENT値をランダムに生成するのではなく、for article_IDを使用してください。

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

article_ID一意の値が入力されます

于 2013-08-21T12:28:21.113 に答える