我试图在使用explode函数拆分字符串后将数据循环到数据库中。我的代码中似乎有一些错误但是作为初学者,我现在似乎无法找到它。
任何建议都将不胜感激。
一旦这个工作,我将不得不在同一个循环中包含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)
答案 0 :(得分:0)
将mysql_query($sql,$con)
语句移到for循环中,否则只插入$ pieces中的最后一个值,因为它会在for循环内被覆盖,而不会插入。
$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);
答案 1 :(得分:0)
试试这个
<body>
<?php
$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)
?>
</body>
</html>
答案 2 :(得分:0)
你必须在更多的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)