PHP版本:5.3.x
代码:
if (isset($_POST['addbadge']))
{
$newbadge = $_POST['newbadge'];
$newcost = $_POST['newcost'];
dbquery("INSERT INTO badge_shop (badge_id,cost) VALUES ('" . filter($newbadge) . "','" . filter($newcost) . "')");
echo '<b>Added badge!</b>';
} // checked and complete
echo '<tr><form method="post" name="addbadge">
<td><center>?</center></td>
<td><input type="text" name="newbadge" value="" style="padding: 5px; font-size: 130%; text-align: center;"></td>
<td><input type="text" name="newcost" value="" style="padding: 5px; font-size: 130%; text-align: center;"></td>
<td><center><input type="submit" value="Add" onclick=""></center></td>
</form></tr>';
我不知道为什么它不会更新到数据库中,虽然我的脚本的其他部分工作(删除等等)我不确定为什么它&#39;没有更新。如果有人可以说明原因,那就太棒了!
答案 0 :(得分:0)
不确定,您正在使用哪个db包装器,但您需要先查看确切错误的位置。
如果插入失败,首先尝试制作模具......
dbisnert(插入查询)或死亡('插入'中的错误);
如果它死了,继续使用try..catch块处理异常并抛出异常。如果你没有看到任何异常,那么语法可能出错了。请检查您的记录器文件..
对于timebeing,启用php.ini中的display_errors以查看确切的错误。
我认为这有助于您解决问题
答案 1 :(得分:0)
问题是: 您正在检查表单名称是否设置为
if(isset($_POST['addbadge']))
而不是那个
为提交字段提供名称和ID,如下所示
<input type="submit" value="Add" id="something" name="something" >
id和name可能相同
并检查为
if(isset($_POST['something']))
{
//your query comes here
}