2013-04-17 35 views
0

我使用数据行填充Web表单。我需要更新一些字段,以便将值放入文本字​​段中。 MySQL查询是:PHP - 从Web表单更新MySQL表中的每一行

SELECT * FROM results WHERE EventID = %s AND CompNo = %s", GetSQLValueString($colname_rsResults, "int"),GetSQLValueString($colname2_rsResults, "int")); 

EventID和CompNo在URL中传递。

假设结果是50行。我希望能够更新名称字段(例如,纠正拼写),单击按钮并让代码用任何新值更新数据库。不要紧,因为这是非常罕见的操作,所以大部分值不会改变。

我曾经能够在ASP中做到这一点,但我似乎无法在PHP中做。

这是我使用的代码,我认为它是完全错误的!

if ((isset($_POST["JM_update"])) && ($_POST["JM_update"] == "form1")) { 

    $i = 0; 
    $j = $totalRows_rsResults; 

    while($i < $j) 

    $resultID=$_GET['ResultID']; 
    $vDelete=$_GET['Del']; 
    if ($vDelete == 1) { 
    $delSQL = sprintf("DELETE FROM Results WHERE ResultID=$resultID"); 
    mysql_query($delSQL,$connFeisResults); 
    } else { 
    $name=$_GET['Name']; 
    $qual=$_GET['Qual']; 
    $updateSQL = sprintf("UPDATE results SET Name = ".$name{$i}.", Qual = ".$qual[$i]." WHERE ResultID=$resultID"); 
    mysql_query($updateSQL, $connFeisResults); 

    $i++; 

    } 
    } 

在每行末尾还有一个复选框,用于检查是否需要删除记录。那也行不通!

我使用Dreamweaver CS6,并试图以适应更新的行为等

有什么想法?提前谢谢了。

+1

在'while'循环是没有用适当的语法包围,你缺少的括号中的语句 - '{}' - 或':'和'末来;' – jleft

回答

0

看起来你在while语句后错过了大括号。

--UPDATED

另外,检查你的sprintf语句 - 它们看上去是错误的,他们看起来像他们写的,而不是在它的价值的原始“$ resultID”的SQL字符串。

了解如何在这里做到这一点:http://www.talkphp.com/general/1062-securing-your-mysql-queries-sprintf.html

+0

嗨。谢谢。我已经在$ i ++的末尾添加了大括号。没有得到任何进一步的... –

+0

我更新了答案,要求你检查你的冲刺声明...让我知道,如果这有帮助。 –