0

这有点奇怪,我可能在这里遗漏了一些明显的东西。一个页面输出一个带有复选框的表格来显示数据,然后单击一个按钮暂停(删除)其复选框被选中的相关行。我正在尝试通过引用索引来更新 MySQL 表。在 PHP 中将数据发送到脚本的动态生成的表如下所示:

<td class="controlpanelrows">
<input type="checkbox" name="suspend[]" value="'. $row {'index'} .'">
</td>

这会正确地输出每个复选框的值作为行的索引值。然后我通过一个表单将它放到一个脚本中

<form action="suspend.php" method="post">
<table class="general" width="500"><tr>
.
.
.
</tr>
<? listRates(); ?>
</table>
<br><br>
<button class="mainButton" id="remove" value="remove" type="submit">Suspend</button>
</form>

然后脚本更新表格:

if (isset($_POST['suspend'])) {
foreach ($_POST['suspend'] as $suspend) {
mysql_query("UPDATE pay_week SET suspend='1' WHERE index='$suspend' ");
}
}

我已经测试过它确实收到了数组,查询本身似乎是问题所在。否则没有简单的方法来处理数据,因为唯一的唯一元素是索引,脚本成功接收数据,只是没有更新表。完全相同的脚本在许多其他数据集上也能完美运行。索引字段设置为 INDEX。

4

1 回答 1

2

index是保留字。见https://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

尝试

mysql_query("UPDATE pay_week SET suspend='1' WHERE `index` = '$suspend' ");
于 2013-05-13T16:10:08.697 回答