Php 在数据库中插入多个输入值

Php 在数据库中插入多个输入值,php,sql,database,arrays,loops,Php,Sql,Database,Arrays,Loops,试图在数据库中插入多个输入值,但仅插入一个表。。请检查并帮助。谢谢 <form action="insert.php" method="post" id="database" name="database" > <?php foreach($_POST['url_link'] as $value) { echo '<input type="text" name="url_db[]" size="150" value="'.$value.'"/><br

试图在数据库中插入多个输入值,但仅插入一个表。。请检查并帮助。谢谢

<form action="insert.php" method="post" id="database" name="database" >
<?php
foreach($_POST['url_link'] as $value)
{
    echo '<input type="text" name="url_db[]" size="150" value="'.$value.'"/><br />';
}
?>
<br><hr>Categories:<select name="cat" id="cat">
<option value="Mobile">Mobile
<option value="T-Shirt">T-Shirt
</select>

Website:<input type="text" size="50" value="" name="web" id="web"/><input type="submit" value="Save to DB>>" name="datasub"/>
</form>



类别: 可移动的 T恤 网站:
Insert.php-

  // Connect to server and select database.
    mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");

    $count = count($_POST['url_db']);
    if (isset($_POST['url_db'])) {
        for($i=0;$i<$count;$i++){

            $urllink = $_POST['url_db'][$i];
            $web = $_POST['web'];
            $cat = $_POST['cat'];

            $sql="INSERT INTO $tbl_name (web, urllink, cat) VALUES ('$web', '$urllink', '$cat')";
            if(!($result = mysql_query($sql))){
                "<BR>Error Adding!!<BR>".mysql_error();
                   exit();
            }
            header("location:index.php");
        }
    }
    ?>
//连接到服务器并选择数据库。
mysql_connect(“$host”、“$username”、“$password”)或die(“无法连接”);
mysql_select_db($db_name)或die(“无法选择db”);
$count=count($\u POST['url\u db']);
如果(isset($\u POST['url\u db'])){
对于($i=0;$i)
信息-我正在尝试使用带有类别名称(下拉列表)和网站名称的输入框插入多个url链接。 url_db[]-

<form action="insert.php" method="post" id="database" name="database">
<input type="text" name="url_db[]" size="150" value="http://www.google.dk/imghp?hl=da&amp;tab=wi"><br>
<input type="text" name="url_db[]" size="150" value="http://maps.google.dk/maps?hl=da&amp;tab=wl"><br>
<input type="text" name="url_db[]" size="150" value="https://play.google.com/?hl=da&amp;tab=w8"><br>
<input type="text" name="url_db[]" size="150" value="http://www.youtube.com/?gl=DK&amp;tab=w1"><br>
<input type="text" name="url_db[]" size="150" value="https://mail.google.com/mail/?tab=wm"><br><br>

<hr>Categories:<select name="cat" id="cat">
<option value="Mobile">Mobile
</option><option value="T-Shirt">T-Shirt
</option></select>








类别: 可移动的 T恤
在for循环中重定向

应该是这样的:

if (isset($_POST['url_db'])) {
    for($i=0;$i<$count;$i++){

        $urllink = $_POST['url_db'][$i];
        $web = $_POST['web'];
        $cat = $_POST['cat'];

        $sql="INSERT INTO $tbl_name (web, urllink, cat) VALUES ('$web', '$urllink', '$cat')";
        if(!($result = mysql_query($sql))){
            "<BR>Error Adding!!<BR>".mysql_error();
               exit();
        }
    }
    header("location:index.php");
}
if(isset($\u POST['url\u db'])){

对于($i=0;$i您正在forloop中重定向。对于最佳实践,请创建如下输入

<?php
  foreach($_POST['url_link'] as $key=>$value)
  {
      echo '<input type="text" name="url_db[]" size="150" value="'.$value.'"/><br />';
  }
  ?>

那么您的插入代码将如下所示

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");


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

    print_r($_POST['url_db']) ;   // Make sure you have more than one indexes in array

 foreach($_POST['url_db'] as $key=>$urllink){

        $web = $_POST['web'];
        $cat = $_POST['cat'];

        $sql="INSERT INTO `tbl_name` (`web`, `urllink`, `cat`) VALUES ('".$web."', '".$urllink."', '".$cat."')";
        mysql_query($sql) or die("<BR>Error Adding!!<BR>".mysql_error()) ;


    }
  header("location:index.php");
 }
//连接到服务器并选择数据库。
mysql_connect(“$host”、“$username”、“$password”)或die(“无法连接”);
mysql_select_db($db_name)或die(“无法选择db”);
如果(isset($\u POST['url\u db'])){
print\r($\u POST['url\u db']);//确保数组中有多个索引
foreach($\u POST['url\u db']作为$key=>$urlink){
$web=$_POST['web'];
$cat=$_POST['cat'];
$sql=“插入到`tbl_name`(`web`、`urlink`、`cat`)值(''.$web'.','.''.$urlink'.''、'.$cat')”;
mysql\u query($sql)或die(“
添加错误!!
”.mysql\u Error()); } 标题(“location:index.php”); }

让我知道这是否解决了您的问题

相同的问题,仅插入一个表-每次我尝试插入URL链接时,我需要更改“web”名称,否则它会显示空白页,不会出错。为什么?我没有收到“仅插入一个表”的提示。请解释第一行。你想说什么。我正在使用循环创建输入框,每个输入框中都有不同的url,我想插入所有带有类别(cat)名称和网站(web)的url数据库中的名称。上面提供的脚本仅在数据库中插入一个url链接。我测试了我的代码是否正常工作。请检查此更新的代码。如果这对您不起作用,您可以将文件发送给我。同样的问题只插入一个表-每次尝试插入url链接时,我都需要更改“web”名称也显示空白页,没有错误。为什么?请在您的问题中向我们显示
$\u POST['url\u db']
的内容。更新请检查-POST
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");


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

    print_r($_POST['url_db']) ;   // Make sure you have more than one indexes in array

 foreach($_POST['url_db'] as $key=>$urllink){

        $web = $_POST['web'];
        $cat = $_POST['cat'];

        $sql="INSERT INTO `tbl_name` (`web`, `urllink`, `cat`) VALUES ('".$web."', '".$urllink."', '".$cat."')";
        mysql_query($sql) or die("<BR>Error Adding!!<BR>".mysql_error()) ;


    }
  header("location:index.php");
 }