2011-11-03 124 views
1

我是facebook api圖以獲取我所有的朋友id的列表。將數組插入到mysql字段

我想把所有這些id放在我的數據庫的一個字段中。

這是到目前爲止我的代碼:

$friends = $facebook->api('/me/friends'); 
foreach($friends['data'] as $friend) { 
$friend_list = $friend['id'].','; 
}   
$query = "INSERT INTO users 
(id, 
first_name , 
last_name , 
friends 
) 
VALUES (
'$id', '$first_name', '$last_name', '$friend_list')"; 

mysql_query($query); 

我敢肯定,你們可以看看是怎麼回事。它會爲每個ID創建一個新行並將其填充到其他三個值中。

我正在試圖解決這個問題的太空學員。

謝謝!

回答

2

我想把所有這些id放到我的數據庫的一個字段中。

這聽起來不是一個好主意。你將不得不使用逗號分隔值之類的東西,但是對於搜索而言效率低下,因爲索引無法使用。

你應該創建一個單獨的表用戶之間的關係進行建模:

user_friend 
user friend 
1  15 
1  135 
1  254 
+0

我在想這樣做只是關心多少行它會創建隨着時間的推移。普通人約有500-1000個朋友。因此,每個新的註冊將創建500-1000行... –

+1

它仍然是最好的方式來做到這一點,閱讀數據庫規範化 – 2011-11-03 22:46:06