【发布时间】:2014-06-01 12:00:02
【问题描述】:
我正在尝试创建像 facebook 这样的用户组系统,但我在分配用户 ID 时遇到了问题。
我的用户表数据库设计:
username
uid
password
email
我为 group_user 设计的数据库:
group_id
group_name
group_information
group_cover
uid_fk
这样uid_fk 就是用户表中的uid。当用户创建组时,我想将uid 分配给uid_fk
这是我的 PHP 代码:
group_user.php
<?php
class group_user
{
public function Create_User_group($group_name,$group_information,$uid)
{
$group_name= mysql_real_escape_string($group_name);
$group_information= mysql_real_escape_string($group_information);
$qu= mysql_query("SELECT group_id FROM group_users WHERE
group_name='$group_name'");
if(mysql_num_rows($qu)==0)
{
$query = mysql_query("INSERT INTO
group_users(group_name, group_information, uid_fk)
VALUES('$group_name','$group_information','$uid')");
$sqll = mysql_query("SELECT group_id
FROM group_users
WHERE group_name='$group_name'
and uid_fk='$uid'");
$row = mysql_fetch_array($sqll);
$group_id = $row['group_id'];
$group_query = mysql_query("INSERT INTO
group_friends(group_f_one, group_f_two, role)
VALUES('$group_id','$group_id','me')");
return $blog_id ;
} else {
return false;
}
}
}
?>
create_group.php
<?php
include_once 'includes/db.php';
include_once 'includes/group_user.php';
//Create group
$group_user = new group_user();
$reg_error='';
if($_POST['group_name'] && $_POST['group_information'] )
{
$group_name=$_POST['group_name'];
$group_information=$_POST['group_information'];
if (strlen($group_name)>0 && strlen($group_information)>0)
{
$regg=$group_user->Create_User_group($group_name,$group_information);
if($regg)
{
$_SESSION['group_id']=$regg;
header("Location:group.php");
}
else
{
$reg_error="<span class='registererror'>Group name Already exist.</span>";
}
}
}
?>
问题是,当用户创建组时 uid_fk 自动为 '0' 而不是 uid。我该怎么做才能解决这个问题?
【问题讨论】:
-
您在这行代码
$regg=$group_user->Create_User_group($group_name,$group_information);中缺少第三个参数,该参数将在INSERT 中用作uid_fk -
@RiggsFolly 非常感谢它现在可以使用了。
-
@RiggsFolly 如何添加一个答案以便它可以被接受,然后问题可能被标记为已回答?
-
你不应该在这个时代使用
mysql_。见phptherightway.com/#databases
标签: php mysql sql database sqlite