我正在尝试使用爆炸函数分割字符串后将数据循环到数据库中。我的代码中似乎存在一些错误,但作为初学者,我目前似乎无法找到它。
如有任何建议,我们将不胜感激。
一旦这个方法起作用,我就必须在同一个循环中再包含 3 个值。如果有一个在同一代码中循环使用另一个值的示例,我们将不胜感激。
$con = mysql_connect('localhost','root','');
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("cmsd", $con);
$pieces = explode(" ", $_POST['fname']);
$number = count($pieces);
echo $number;
for ($i=0; $i<=$number; $i++) {
$itno = $pieces[$i];
$sql="INSERT INTO nametable (firstname, lastname) VALUES ('$itno', $_POST['lname'])";
}
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
最佳答案
您必须为像这样的另一个变量创建更多的 for 循环。并且在 for 循环中仅检查 $i<$number
而不是$i<=$number
因为,如果数组的大小为 5,那么您试图从数组中获取第 6 个值,这将向您显示错误。
$con = mysql_connect('localhost','root','');
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("cmsd", $con);
$pieces = explode(" ", $_POST['fname']);
$pieces2 = explode(" ", $_POST['sname']);
$number = count($pieces);
$number2 = count($pieces2);
echo $number;
for ($i=0; $i<$number; $i++) {
for ($j=0; $j<$number; $j++) {
$itno = $pieces[$i];
sql="INSERT INTO nametable (firstname, lastname) VALUES ('".$itno."', '".$_POST['lname']."')";
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
else
echo "1 record added";
}
}
mysql_close($con)
关于php - 在php中使用explode函数后循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21452883/