在MYSQL中使用一个表单更新多个记录

时间:2011-01-18 22:00:23

标签: php 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编辑不同行中的信息?

3 个答案:

答案 0 :(得分:0)

你没有。您将数据库重新组织到实际有意义的位置,然后从那里开始。

答案 1 :(得分:0)

对数据库进行规范化后,您的每条记录都将具有可用于更新查询的唯一标识符。

您当前的脚本也很容易sql injection。你永远不应该相信用户的输入。

答案 2 :(得分: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;