使用表单我将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' ")
但是,当我在网络浏览器中访问该页面时,它会显示一个空白页面。
如果有人想知道,我使用复选框的原因是因为文章需要用标签组合标记,这将确保标记中使用一致性。另外,我有一个用于编辑文章的表单,我相信数据库结构可用于在编辑页面上“选中”复选框。
非常感谢任何建议。
答案 0 :(得分:1)
什么是mysql_query2?你确定在查询后放了分号吗?
mysql_query("INSERT INTO articles_tags SET articletags='$articletags' ");
答案 1 :(得分:1)
将mysql_query2('*******)
更改为mysql_query()
并启用错误报告以检查代码中是否存在错误。回显您的查询并直接在数据库中运行以检查任何与SQL相关的错误。
答案 2 :(得分:1)
空白页实际上来自语法错误。要查看语法错误,请编辑php.ini或将此行添加到代码error_reporting(E_ALL);
将mysql_query2()
更改为mysql_query()
您的SQL sytax不正确......
如果数据已经在数据库中,您想使用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());