我有一个mysql表,用于跟踪成员及其朋友,在该表中有一个名为“ friends”的字段。因此,如果某个成员朋友请求另一个成员,则该字段将使用其各自的ID进行更新。
例如:如果ID为125的成员的朋友请求ID为10的成员,那么我将在域10中将125表示为125,将125插入为10,将在10中表示为10。为了更好地解释,这是我的代码。
问题是,如果用户以前没有任何朋友,查询仍会更新friends字段并插入“ Array,125”,而不是插入“ 10,25”。
$friends = '';
$friendArray = explode(",", $friendArray);
$friendCount = count($friendArray);
if($friendArray != "" && !is_null($friendArray))
{
$sum = '<h1> '.$friendArray.'\'s friends('.$friendCount.') </h1>';
}
但是count变量输出1而不是0!并且该字段为NULL。
最佳答案
这听起来对我来说是一个糟糕的设计。它破坏了正常形式。您不必解析该列即可找出关系。
更好的解决方案是使用外键。一个人可以有很多朋友,因此在您的架构中建立1:m关系。