-1

在插入/删除/更新之后,我必须手动更新页面,直到我看到结果..为什么?我怎么解决这个问题

   if (isset($_POST['action']) && $_POST['action']=='submitted') {
 if (isset($_POST['update'])) {
    $selected = $_POST['selected'];
    for ($i=0; $i<$columncount;$i++){
    $value[$i] = $_POST[$name[$i]];
     foreach ($selected as $j)
    mysql_query ("UPDATE $tablename set $name[$i]='".$value[$i][$j]." 'WHERE $name[0]=".$value[0][$j]);}
}

它从表单中读取表值并更新

4

3 回答 3

1

因为您在显示表格后更新数据库。

换句话说,您获取值,显示它们,然后更新它们。要解决这个问题,只需将上面的代码放在表格显示上方。

于 2012-07-29T18:00:04.413 回答
0

除了明显的SQL 注入漏洞只是乞求您的服务器 pwn3d 之外,您的查询没有任何错误处理 - 您假设它成功了。为什么不花额外的 2 秒时间来尝试处理您的查询实际上可能有语法错误的可能性呢?

$result = mysql_query(...) or die(mysql_error());
                          ^^^^^^^^^^^^^^^^^^^^^^
于 2012-07-29T17:59:08.270 回答
0

试试这个。希望它会起作用

mysql_query ("UPDATE ".$tablename." set ".$name[$i]."='".$value[$i][$j]."' WHERE ".$name[0]."='".$value[0][$j]."';");}
于 2012-07-29T18:00:05.587 回答