Вставка массива в поле MySQL - PullRequest
1 голос
/ 04 ноября 2011

Я график API Facebook, чтобы получить список всех идентификаторов моих друзей.

Я хотел бы поместить все эти идентификаторы в одно поле в моей базе данных.

Вот мой код:

$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);

Я уверен, что вы, ребята, можете видеть, что здесь происходит.Он создает новую строку для каждого идентификатора и заполняет ее тремя другими значениями.

Я немного космический курсант, пытаюсь решить эту проблему.

Спасибо!

1 Ответ

2 голосов
/ 04 ноября 2011

Я хотел бы поместить все эти идентификаторы в одно поле в моей базе данных.

Это не похоже на хорошую идею. Вам придется использовать что-то вроде значений, разделенных запятыми, но это неэффективно для поиска, потому что индекс не может быть использован.

Вы должны создать отдельную таблицу для моделирования отношений между пользователями:

user_friend
user   friend
1      15
1      135
1      254
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...