2011-11-22 55 views
0

我有一個表單,用戶可以在其中使用複選框同時修改多個字段。我已經使用了mysql_real_escape_string($ _ POST ['doby']);完美之前,但由於某種原因,在這種情況下,當我嘗試將其存儲在變量中時,它會丟失值。這是我的代碼呼應值:PHP mysql_real_escape_string丟失值

if(isset($_POST['edit_patient_insurance'])){ 

for($i=0;$i<=$_POST['n'];$i++) 
{ 
    if($_POST['insurance'.$i]==1) 
    { 

    $insurance_num = mysql_real_escape_string($_POST[insurance_num.$i]); 
    $relation = mysql_real_escape_string($_POST[relation.$i]); 
    $insured_cmp = mysql_real_escape_string($_POST[insured_cmp.$i]); 
    $insured_nm = mysql_real_escape_string($_POST['insured_nm'.$i]); 

//more POSTS here 
    $insured_ssn = mysql_real_escape_string($_POST['ssn1']).mysql_real_escape_string($_POST['ssn2']).mysql_real_escape_string($_POST['ssn3']); 

    $date = mktime(0,0,0, $dobm, $dobd, $doby); 
    $idob=date('Y-m-d', $date); 

//Try to get the mysql_real_ecape_string version 
    echo $i; 
    echo $insurance_num; 
    echo $insured_nm; 
//Verify it's sending the correct information 
    echo $_POST[insurance_num.$i]; 
    echo $_POST[insured_nm.$i]; 

    } 
} 

}

所以,當我嘗試這一點,$ insurance_num和$ insured_nm回聲不返回任何值。但是返回$ _POST值。我不明白髮生了什麼事。

+0

有這麼多的錯誤......你的數組索引使用字符串,就好像它們是常量一樣。即應該是'$ _POST ['insured_nm'。$ i]' – Fosco

+0

除了上面使用name =「insurance_num []」的新的表單結構等,將使生活變得更簡單 – 2011-11-22 03:19:54

+0

@ Fosco-修復它,謝謝。 – Gustavo

回答

0

mysql_real_escape_string需要連接到mysql服務器。請確保您已經創建了連接。檢查錯誤日誌。

+0

就是這樣。謝謝 ! – Gustavo