0

フォームを使用して、3 つのテキスト フィールドと 2 つのチェックボックスからの情報を MySQL データベースに挿入しています。

データベースは、次の行を持つ 2 つのテーブルで構成されています。

id - articletitle - articleorganization - articledate - articleurl

id - article_tags - articlid - tagid 

チェックボックスは配列を使用し、次のようにコード化されています。

<input type="checkbox" name="articletags[]" value="geology" id="articletags_0" />
<input type="checkbox" name="articletags[]" value="astronomy" id="articletags_1" />

MySQL ステートメントは次のようになります。

mysql_query("INSERT INTO articles SET articletitle='$articletitle',
 articleorganization='$articleorganization',
 articledate='$articledate',
 articleurl='$articleurl' ")

mysql_query2("INSERT INTO articles_tags SET articletags='$articletags' ")

ただし、Web ブラウザーでページにアクセスすると、空白のページが表示されます。

疑問に思われる方のために説明すると、私がチェックボックスを使用している理由は、タグの組み合わせで記事にタグを付ける必要があるためです。これにより、タグ付けで一貫性が確実に使用されます。また、記事の編集に使用するフォームがあり、編集ページでチェックボックスを「チェック」するためにデータベース構造を使用できると思います。

どんなアドバイスでも大歓迎です。

4

3 に答える 3

1

エラー報告を変更mysql_query2('*******)mysql_query()て有効にし、コードにエラーが含まれていることを確認します。クエリをエコーし​​、データベースで直接実行して、SQL 関連のエラーを確認します。

于 2012-06-19T05:46:21.257 に答える
1

空白のページは、実際には構文エラーによるものです。構文エラーを表示するには、php.ini を編集するか、この行をコードの先頭に追加します。error_reporting(E_ALL);

mysql_query2()に変更mysql_query()

SQL 構文が正しくありません...

データがすでにデータベースにある場合は、UPDATE を使用します。

mysql_query("UPDATE articles SET articletitle='$articletitle',
 articleorganization='$articleorganization',
 articledate='$articledate',
 articleurl='$articleurl' ");

mysql_query("UPDATE articles_tags SET articletags='$articletags' ")

データを挿入する方法は次のとおりです。

mysql_query("INSERT INTO articles (articletitle,
 articleorganization,
 articledate,
 articleurl) VALUES ($articletitle,$articleorganization,$articledate,$articleurl) ");

: を使用mysql_error()して構文エラーをチェックする必要があります。

mysql_query("INSERT INTO articles_tags SET articletags='$articletags' ") OR DIE(mysql_error());
于 2012-06-19T05:57:50.403 に答える
1

mysql_query2 とは何ですか? クエリの後にセミコロンを置いてもよろしいですか?

mysql_query("INSERT INTO articles_tags SET articletags='$articletags' ");
于 2012-06-19T05:34:07.497 に答える