2011-01-18 70 views
0

我需要在一个表单中更新多个记录,但不知道如何继续。以下是我用来将字段最初插入数据库的代码。使用MYSQL中的一种形式更新多个记录

$case = date(ymdHis); 

//register into database 
if (!empty($p1_firstname)) mysql_query ("INSERT INTO cases VALUES ('$case','$date_booked','$p1_firstname','$p1_lastname ''$city’)"); 

if (!empty($p2_firstname)) $register_case = mysql_query ("INSERT INTO cases VALUES ('$case','$date_booked','$p2_firstname','$p2_lastname','$city’)"); 

我有一个更新窗体,显示数据为每个“案件”有多少记录。如何在每行具有相同标识符($ case)时使用UPDATE编辑不同行中的信息?

+2

您的行没有唯一的标识符? – 2011-01-18 22:05:17

回答

0

你不知道。您将数据库重新组织到实际有意义的位置,然后从此处继续。

0

标准化数据库后,每条记录都会有一个可用于更新查询的唯一标识符。

您当前的脚本也倾向于sql injection。你永远不要相信用户的输入。

0
UPDATE cases 
SET column1 = CASE column_id WHEN 0 then 'valueColumn1forRegisterId0' 
          WHEN 1 then 'valueColumn1forRegisterId1' 
          WHEN 2 then 'valueColumn1forRegisterId2' 
          ELSE column1 END, 
    column2 = CASE column_id WHEN 0 then 'valueColumn2forRegisterId0' 
          WHEN 1 then 'valueColumn2forRegisterId1' 
          WHEN 2 then 'valueColumn2forRegisterId2' 
          ELSE column2 END;