0

我正在尝试将表单中的值插入到我的 mysql 数据库中。我有单值表单+表单中的数组值。如何将数组值插入到我的数据库中,并将单个表单值附加到所有行?

的HTML:

Start:<br>
    <input type="text" name="start" id="start">

End:<br>
    <input type="text" name="end" id="end">

<input type="text" name="item[]" placeholder="Manufacturer #" /><br>

    <input type="text" name="description[]" placeholder="Description" /><br>

    <input type="text" name="item[]" placeholder="Manufacturer #" /><br>

    <input type="text" name="description[]" placeholder="Description" /><br>

    <input type="text" name="item[]" placeholder="Manufacturer #" /><br>

    <input type="text" name="description[]" placeholder="Description" /><br>

PHP:

if (isset($_POST['submit']))
            {
                $link = mysql_connect('localhost',     'user', 'pass');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydb") or die(mysql_error());
echo 'Connected successfully';

$query = "INSERT INTO agreement (start, end, item_number, item_description) VALUES ";
foreach($_POST['item'] as $i => $item) 
{ 
  // Get values from post.
  $item = mysql_real_escape_string($item);
  $description = mysql_real_escape_string($_POST['description'][$i]);
  $start = mysql_real_escape_string($_POST['start'][$i]);
  $end = mysql_real_escape_string($_POST['end'][$i]);

  // Add to database
  $query = $query." ('$start','$end','$item','$description') ,";
}
$query = substr($query,0,-1); //remove last char
$result = mysql_query($query);
            }

我会将代码更改为 mysqli/pdo,我知道当前代码是不安全的。

任何帮助表示赞赏,谢谢!

4

1 回答 1

2

只需使用$_POST['start']$_POST['end']不使用数组访问,因为它们每次都是相同的。您可以对项目和描述使用数组访问。

于 2013-04-21T23:10:07.580 回答