我已经看到了几个关于此的问题和答案,但没有一个与我的问题非常相似,所以现在我要问了。
这是情况
我有一张名为users
,roles
和user_role
表: users
字段:user_id
,,,username
_password
表:角色
字段:role_id
,role_name
表:用户角色
字段:user_id
,role_id
user_role.user_id
is的外键user.user_id
user_role.role_id
is的外键role.role_id
我的问题是当我创建用户时,我还想将他们的角色设置为默认值或我在 element.xml 中选择的选定值<select>
。
我尝试了几件事,例如:
INSERT INTO users as t1 (t1.username, t1.password, t2.role)
JOIN user_role as t2 ON t1.user_id = t2.user_id
VALUES (:username, :password, :role)
我做错了吗?
编辑因为下面的答案
我觉得还是有问题,它给了我一个空白屏幕
$this->db->beginTransaction();
$string = "INSERT INTO users (username, password)
VALUES (:user,:pass,:first,:middle,:last,:course)";
$sth = $this->db->prepare($string);
$sth->execute(array(
':user'=> $data['user'],
':pass'=> $data['pass']
));
$sth = $this->db->prepare("INSERT INTO user_roles (user_id, role_id)
VALUES (' . $this->db->lastInsertId(user_id) . ', :role)");
$sth->execute(array(
':role' => 3
));
$this->db->commit();