Dafault值进入mysql表

时间:2015-10-12 14:32:37

标签: php android mysql

我正在一个使用mysql作为数据库的php网站上工作,现在我的网站是一个社交网络,就像用户互相关注的网站,现在如果用户加入他跟随没人,所以他的流仍然是空的,所以他们离开了网站也很快,我希望用户在加入时自动关注我的帐户。你能告诉我该怎么做吗

这是两个表

sn_users的表结构

CREATE TABLE IF NOT EXISTS `sn_users` (
`id` int(11) NOT NULL,
`username` varchar(225) NOT NULL,
`email` varchar(225) NOT NULL,
`password` varchar(225) NOT NULL,
`name` varchar(225) DEFAULT NULL,
`picture` varchar(100) NOT NULL,
`cover` varchar(100) DEFAULT NULL,
`job` varchar(225) DEFAULT NULL,
`address` varchar(225) DEFAULT NULL,
`date` int(11) NOT NULL,
`reg_id` text,
`active` int(11) NOT NULL DEFAULT '1'
) ENGINE=MyISAM AUTO_INCREMENT=28 DEFAULT CHARSET=utf8;

sn_follows的表结构

CREATE TABLE IF NOT EXISTS `sn_follows` (
`id` int(11) NOT NULL,
`from` int(11) NOT NULL,
`to` int(11) NOT NULL,
`date` int(11) NOT NULL
) ENGINE=MyISAM AUTO_INCREMENT=74 DEFAULT CHARSET=utf8;

,php代码是

public function userRegister($array)
{
$username = $this->__GB->__DB->escape_string($array['username']);
$email = $this->__GB->__DB->escape_string($array['email']);
$password = md5($array['password']);
if (strlen(trim($username)) <= 4) {
$response = array(
'done' => false,
'message' => 'Username too short'
);
$this->__GB->prepareMessage($response);
} else if (filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
$response = array(
'done' => false,
'message' => 'Invalid E-mail'
);
$this->__GB->prepareMessage($response);
} else if (strlen(trim($array['password'])) <= 5) {
$response = array(
'done' => false,
'message' => 'Password too short'
);
$this->__GB->prepareMessage($response);
} else if ($this->UserExist($username)) {
$response = array(
'done' => false,
'message' => 'Username already exists'
);
$this->__GB->prepareMessage($response);
} else {
if (isset($_FILES['image'])) {
$imageID = $this->__GB->uploadImage($_FILES['image']);
} else {
$imageID = null;
}
$array = array(
'username' => $username,
'password' => $password,
'email' => $email,
'date' => time(),
'picture' => $imageID
);
if ($this->__GB->GetConfig('emailactivation', 'users') == 1) {
$array['active'] = 0;
}
$insert = $this->__GB->__DB->insert('users', $array);
if ($insert) {
if ($this->__GB->GetConfig('emailactivation', 'users') == 1) {
$this->sendEmailActivation($this->__GB->__DB->lastID(), $email);
}
$response = array(
'done' => true,
'message' => 'Your account has been created'
);
$this->__GB->prepareMessage($response);
} else {
$response = array(
'done' => false,
'message' => 'Oops Something Went Wrong'
);
$this->__GB->prepareMessage($response);
}
}


}

1 个答案:

答案 0 :(得分:0)

为该操作创建MYSQL触发器。一旦用户注册社交网络,SQL触发器将创建一个sn_follows记录,使您成为第一个跟随的人。

MYSQL Trigger documentation

祝你好运

相关问题