2013-04-21 75 views
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,我知道,當前的代碼是不安全的。

任何幫助表示讚賞,謝謝!

回答

2

只需使用$_POST['start']$_POST['end']而無需訪問數組,因爲它們每次都是相同的。您可以使用數組訪問的項目和說明。

+0

好的,它的工作。無論出於何種原因,它以前沒有奏效......在我的前綴代碼中一定是錯誤的。謝謝! – Alex 2013-04-21 23:11:30

+0

@ hek2mgl而不是'$ _POST ['start'] [$ i]'只需使用'$ _POST ['start']' – 2013-04-21 23:12:09