2011-01-18 67 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;