2011-09-03 203 views
-1

如何從多個數組插入數據到數據庫PHP & MYSQL?如何從多個數組插入數據到數據庫PHP?

我創建了一個表名是學生。有3個字段ID,姓名和性別。例如:數組([0] => 1,Jam,M [1] => 2,Janny,F [2] => 3,Vary)。

表學生有3個字段的ID,名稱,性別。

如何向學生插入多個數組?

+0

您可能想要詳細瞭解信譽:http://stackoverflow.com/faq#reputation –

回答

-1

你應該嘗試做一個foreach循環,就像這樣:

<?php 
$arr = Array ([0] => "1,Jam,M" [1] => "2,Janny,F" [2] => "3,Vary"); 
foreach($arr AS $item) 
{ 
    $parts = explode(",", $item); 
    $q = sprintf("INSERT INTO students (id, name, sex) VALUES ('%s', '%s', '%s')", $parts[0], $parts[1], $parts[2]); 
    // now execute the query into your database - like 
    mysql_query($q); 
} 

我注意到你的第三個元素不包含性別,所以你應該在情況下,它需要檢查的有效性。

+0

你忘了逃脫 –

+0

噢,這只是它如何工作的一個例子!但是,是的,逃脫是必要的! – Krynble

+0

讓我測試。 – user872148

1

認爲它不是以數據庫插入的方式,而是根據字符串
PHP是一種字符串操作語言。
所有你需要的是組成一些格式的字符串。所以,首先你必須寫下一個所需字符串的例子,一個INSERT SQL查詢。
然後使用PHP來組裝使用一些PHP代碼的這樣的字符串。

+0

+1「PHP是一種字符串操作語言」。 – sdleihssirhc

0
$arr = Array ("1,Jam,M","2,Janny,F" ,"3,Vary,M"); 

$VALUES = array(); 
foreach ($arr as $data) 
    $VALUES[] = '('.implode(',',array_map("escape", explode(',', $data))).')'; 

$query = 'INSERT INTO STUDENTS_TABLE (`id`, `name`, `sex`) VALUES '.implode(',', $VALUES); 
mysql_query($query, $db_con); 

function escape($str) 
{ 
    //escaping here . For example 
    global $db_con; 
    return '"'.mysql_real_escape_string($str, $db_con).'"'; 
} 

這只是一個例子,但我建議你使用多插入。