2013-02-21 62 views
-3

我的數組是這樣的:PDO與插入鑰匙多行和值陣列

Array 
(
    [name] => Array 
     (
      [0] => Matrix 
      [1] => Ryan 
     ) 

    [surname] => Array 
     (
      [0] => Relaoded 
      [1] => Lose 
     ) 

) 

我的問題是,關鍵和值不匹配計數。

如何將這個數組像精確的結構插入到帶有PDO的mysql?

在MySQL表

---------------------------------- 
    | id  name  surname | 
    | 1  Matrix Relaoded | 
    | 2  Ryan  Lose  | 
    ---------------------------------- 
當然

我需要溶液編程

我花了幾個小時,去trought這真棒的論壇,但我不能找到解決辦法:(

感謝;)

+2

'「鍵和值不匹配計數。」' - 你什麼意思? – 2013-02-21 20:32:25

+1

作爲第一步 - 忘記您擁有PDO和數據庫 - 只需以類似的方式「迴應」信息即可。你能做到嗎? – zerkms 2013-02-21 20:34:03

+0

'INSERT INTO mytable VALUES(?,?,?);' then: 'for i = 0;我 2013-02-21 20:34:03

回答

0

這裏的SQL語句

INSERT INTO mytable (`id`,`name`,`surname`) VALUES(?,?,?); 

那麼下面的僞代碼:

for ($i = 0; $i < count($['name']); $i++) { 
    $db->execute($i+1, $a['name'][$i], $a['surname'][$i]); 
} 
+0

我將不得不使用'$ key => $ value'並使用'$ key'來獲取姓氏。這似乎不太合邏輯,因爲你正在循環兩個數組。如果姓更長,編寫'$ i 2013-02-21 20:41:03

1

@Zerkms是對的,你只需要學習如何處理這個數組。
最簡單的辦法是

foreach($array['name'] as $key => $name) { 
    $surname = $array['surname'][$key]; 
    // now you can use the pair 
    var_dump($name,$surname); 
} 
+0

THX,我還有一個問題,如何插入MySQL中的這個解決方案與PDO全光照只有一個查詢 – beater 2013-02-21 21:17:16

+0

現在我的代碼如下所示:http://codepad.org/E5fnuSCq 它只有在2 equialent插入最後的foreach值行 – beater 2013-02-21 21:43:09

+0

這裏是工作代碼:http://codepad.org/jvXoHD5m thx all for help;) – beater 2013-02-21 22:45:38