2013-04-08 137 views
-1

我想將這些記錄插入數據庫。未定義索引錯誤

for($i=0;$i<=2;$i++){ 

      echo $_POST['fname'][$i]; 
      echo $_POST['mname'][$i]; 
      echo $_POST['lname'][$i]; 
      echo $_POST['email'][$i]; 
      echo $_POST['URL'][$i]; 
      echo $_POST['Affiliation'][$i]; 
      echo $_POST['country'][$i]; 


     $author= mysql_query("") or die(mysql_error()); 
     } 

直到這些它完美地顯示所有記錄。但我想用這個數據插入查詢。所以當我將它們存儲到一個變量..它告訴我一個錯誤。

我必須這樣做就像

for($i=0;$i<=2;$i++){ 

      $fname.$i= $_POST['fname'][$i]; 
      echo $fname.$i; 
      $lname.$i= $_POST['mname'][$i]; //line 4 
      echo $lname.$i;     //line 5  
      echo $_POST['lname'][$i];  //line 6 
      echo $_POST['email'][$i];  //line 7 
      echo $_POST['URL'][$i];   //line 8 
      echo $_POST['Affiliation'][$i]; //line 9 
      echo $_POST['country'][$i];  //line 10 


     $author= mysql_query("") or die(mysql_error()); 
     } 

但我節目,如錯誤,

Undefined index at line 4 
Undefined index at line 5 
Undefined index at line 6 
Undefined index at line 7 
Undefined index at line 8 
Undefined index at line 9 

爲什麼出現這種情況?提前Thanx

+1

是'$ _ POST [ 'MNAME']'多維數組? – 2013-04-08 12:21:20

+0

發佈您的HTML代碼。 – Bharanikumar 2013-04-08 12:22:13

+1

[不要將SO用作個人調試器](http://stackoverflow.com/a/12770836/493122) – Shoe 2013-04-08 12:25:51

回答

0

您在$i= $_POST['fname'][$i];中設置變量$i爲廢話。

btw:$fname.$i=...是什麼意思?您在此處設置$i,然後將結果與某事連接在一起,然後將其忘記在一起...實際上與$i=...

相同您的意思是$fname[$i] = ...

+3

to'廢話'哇 – EaterOfCode 2013-04-08 12:22:10

1

如果你看看

$fname.$i= $_POST['fname'][$i]; 
echo $fname.$i; 
$lname.$i= $_POST['mname'][$i]; //line 4 
echo $lname.$i;     //line 5  

你看你是在2號線和4 $i= $_POST['mname'][$i];變化的代碼設置$i

$fname[$i]= $_POST['fname'][$i]; 
echo $fname[$i]; 
$lname[$i]= $_POST['mname'][$i]; //line 4 
echo $lname[$i];     //line 5  
在PHP

.是兩個字符串也加入到海誓山盟

0
$fname.$i 

將$ fname連接到$ i作爲字符串

$fname['i'] or $fname->i addresses i in $fname 

警告1不要使用mysql_接口,它已經過時了。改用mysqli或PDO。

警告2從$ _ POST收集的數據不要忘記

$str = mysqli_real_escape_string($str); 

功能,它們進行消毒,以避免SQL注入攻擊之後。

http://php.net/manual/en/mysqli.real-escape-string.php

0

試試這個

for($i=0;$i<=2;$i++){ 

     $fname[$i]= $_POST['fname'][$i]; 
     echo $fname[$i]; 
     $lname[$i]= $_POST['mname'][$i]; //line 4 
     echo $lname[$i];     //line 5  
     echo $_POST['lname'][$i];  //line 6 
     echo $_POST['email'][$i];  //line 7 
     echo $_POST['URL'][$i];   //line 8 
     echo $_POST['Affiliation'][$i]; //line 9 
     echo $_POST['country'][$i];  //line 10 


    $author= mysql_query("") or die(mysql_error()); 
    } 
0

嘗試這樣,並註釋掉,如果不工作R值不要

$lname[$i] = isset($_POST['mname'])[$i];