2010-05-21 95 views
1

我需要在該字段中插入多個數據,然後將其作爲數組檢索。 比如我需要插入「99999」進表item_details,現場item_number,下面的數據與item_number相關領域bidders: 用戶X usery userz 能否請您讓我知道我應該用什麼SQL查詢來插入信息和什麼查詢來檢索它? 我知道這可能是一個愚蠢的問題,但我無法弄清楚。php mysql array - 將數組信息插入到mysql

謝謝你提前, 邁克爾。

+0

你的問題是不明確的,你應該提供更多詳情,請桌子也是。 – Sarfraz 2010-05-21 07:34:17

+0

table = item_details ------------------ fields: item_number, bidders ------------------ 要插入的數據: 99999 into item_number ---------- userx,usery,userz into bidders – Michael 2010-05-21 07:48:04

回答

1

如果僅想存儲在MySQL場以供稍後檢索數組,然後可以使用implode() [PHP Docs]如上所建議的(這會破壞陣列的鍵,但保留與數組的值),或serialize() [ PHP Docs],它將保留這些值和相關聯的鍵。

$theArray = array(
    'key1' => 'One' , 
    'key2' => 'Two' 
); 
$serArray = serialize($theArray); // a:2:{s:4:"key1";s:3:"One";s:4:"key2";s:3:"Two";} 
$sqlStr = 'INSERT INTO `table` (`name` , `arrayField`) VALUES ("Test Row" , "'.$serArray.'")'; 

如果你談論的是使用兩個相關的表來存儲數據,那麼你可能最好的建議參考教程像http://www.sql-tutorial.net/SQL-JOIN.asphttp://www.databasejournal.com/features/oracle/article.php/3527921/Just-SQL-Part-IV--Joining-Tables.htm

0

implode()該數組(因此序列化)然後將該字符串傳遞到MySQL。

+0

我認爲這個implode不是很好的做法。任何想法如何工會工作? – Michael 2010-05-21 15:09:48

0

在存儲在sql中之前,使用implode將數組轉換爲字符串。通過使用爆炸函數將字符串的值檢索到數組之後。用於存儲字符串use varchar或text作爲字段類型。