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' ")

但是,当我在网络浏览器中访问该页面时,它会显示一个空白页面。

如果有人想知道,我使用复选框的原因是因为文章需要使用标签组合进行标记,这将确保在标记中使用一致性。另外,我有一个用于编辑文章的表单,我相信数据库结构可以用于在编辑页面上“选中”复选框。

任何意见是极大的赞赏。

4

3 回答 3

1

什么是 mysql_query2 ?你确定你在查询后加分号吗?

mysql_query("INSERT INTO articles_tags SET articletags='$articletags' ");
于 2012-06-19T05:34:07.497 回答
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 回答