嗨,我有一个关于将数据添加到两个表中的问题,继续这种情况,我想在用户表中添加一个用户名和密码的学生,并将他的个人信息(如姓名和年龄)添加到users_profiles中,继承我的代码:< / p>
function add_user($ username,$ password,$ fname,$ lname,$ sex,$ address,$ city,$ country,$ role) { $这 - &GT; DB-&GT; trans_start();
$user = array(
'usrName'=>$username,
'usrPassword'=>sha1($password),
'roleID'=>$role
);
$this->db->insert('users', $user);
$this->db->query('SELECT usrID FROM users WHERE usrName=$username');
$usrID = $this->db->get(); //i know this is wrong thats why i need help
$user_profile = array(
'usrpFirstName'=>$fname,
'usrpLastName'=>$lname,
'usrpSex'=>$sex,
'usrpAddress'=>$address,
'usrpCity'=>$city,
'usrpState'=>$country,
'usrID'=>**$usrID** // this is the foreign key from users table
);
$this->db->insert('users_profiles', $user_profile);
$this->db->trans_complete();
}
答案 0 :(得分:2)
使用get()
方法时,无需使用query()
。而是存储query()
方法的结果,并使用result()
或row()
来访问数据。
所以你的代码应该是这样的:
$result = $this->db->query("SELECT usrID FROM users WHERE usrName=$username");
$row = $result->row();
$user_profile = array(
'usrpFirstName'=>$fname,
'usrpLastName'=>$lname,
'usrpSex'=>$sex,
'usrpAddress'=>$address,
'usrpCity'=>$city,
'usrpState'=>$country,
'usrID'=>$row->usrID
);