我想将这些记录插入数据库。
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提前
答案 0 :(得分:1)
如果你看看
$fname.$i= $_POST['fname'][$i];
echo $fname.$i;
$lname.$i= $_POST['mname'][$i]; //line 4
echo $lname.$i; //line 5
您发现自己在第2行和第4行设置了$i
$i= $_POST['mname'][$i];
将代码更改为
$fname[$i]= $_POST['fname'][$i];
echo $fname[$i];
$lname[$i]= $_POST['mname'][$i]; //line 4
echo $lname[$i]; //line 5
在PHP中.
太多了两个字符串
答案 1 :(得分:0)
您正在$i
中将变量$i= $_POST['fname'][$i];
设置为废话。
顺便说一下:$fname.$i=...
是什么意思?你在这里设置$i
,然后将结果与某些东西连接起来并忘掉它......它与$i=...
您的意思是$fname[$i] = ...
吗?
答案 2 :(得分: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注入攻击的功能。
答案 3 :(得分: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());
}
答案 4 :(得分:0)
尝试这样,如果没有工作则注释掉
$lname[$i] = isset($_POST['mname'])[$i];