我有一个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关系。

08-04 03:46