0

我有这段代码,我想做的是将主键最后插入用户表,然后将其放入库表的外键中。我不知道如何使用 $request 或在这里做什么?

public function register($request = array()) {
    $data = array(
        'user_name' => $request['username'],
        'password' => $request['password'],
        'email' => ($request['email']) 
    );
    $data1 = array(
        'user_id' => '5',// this is where I have to put the primary key from last table
        'library_name' => $request['lib_name']
    );

    $this->model->insert('user', $data);
    $this->model->insert('library', $data1);
    $this->redirect('uploadSongs.php');
}
4

4 回答 4

1

使用mysql_insert_id()

-- 返回前一个 INSERT 或 UPDATE 语句为 AUTO_INCREMENT 列生成的值。

于 2012-07-11T12:06:07.583 回答
0

你可以这样做

public function register($request = array()) {
    $data = array(
        'user_name' => $request['username'],
        'password' => $request['password'],
        'email' => ($request['email']) 
    );

    $this->model->insert('user', $data);
   $user_id = $this->model->select('user', $data); //select user_id from db 
   $data1 = array(
        'user_id' => $user_id ,
        'library_name' => $request['lib_name']
    );



    $this->model->insert('library', $data1);
    $this->redirect('uploadSongs.php');
}
于 2012-07-11T12:04:35.537 回答
0

你可以这样做

public function register($request = array()) {
$data = array(
    'user_name' => $request['username'],
    'password' => $request['password'],
    'email' => ($request['email']) 
);
$data1 = array(
    'library_name' => $request['lib_name']
);

$this->model->insert('user', $data);
$user_id = mysql_insert_id();
$data1['userid'] = $user_id;
$this->model->insert('library', $data1);
$this->redirect('uploadSongs.php');

如果您使用任何框架。然后他们有帮助函数来获取最后一个插入ID,你应该使用它们

于 2012-07-11T12:15:32.987 回答
0

谢谢大家,我需要做的只是改变逻辑,我愚蠢地使用它并且没有看到在哪里放置插入查询所以它现在工作我所要做的就是改变按给定插入查询

public function register($request = array()) {
$data = array(
    'user_name' => $request['username'],
    'password' => $request['password'],
    'email' => ($request['email']) 
);

$this->model->insert('user', $data);
$data1 = array(
    'user_id' => mysql_insert_id(),// now it works as insert has been done above .... 
    'library_name' => $request['lib_name']
);
$this->model->insert('library', $data1);
$this->redirect('uploadSongs.php');
于 2012-07-11T15:26:26.913 回答