如何在php数据库中返回所选id的值

如何在php数据库中返回所选id的值,php,sql,codeigniter,Php,Sql,Codeigniter,我在数据库中插入一个csv文件。如何返回id并使用它插入到另一个表中。它始终显示数组到字符串的转换错误。“退货”有什么问题吗 这是我的控制器 public function uploadThree(){ $file = $_FILES['file']['tmp_name']; $handle = fopen($file,"r"); while(($fileop = fgetcsv($handle,1000,",")) !==false) { $ap

我在数据库中插入一个csv文件。如何返回id并使用它插入到另一个表中。它始终显示数组到字符串的转换错误。“退货”有什么问题吗

这是我的控制器

public function uploadThree(){
    $file = $_FILES['file']['tmp_name'];
    $handle = fopen($file,"r");
    while(($fileop = fgetcsv($handle,1000,",")) !==false)
    {
        $appname = $fileop[0];
        $servname = $fileop[1];
        $ciname = $fileop[2];
        $servid = $this->some_model->insertBulkServ($servname); //i tried to get the value here then insert below
        $appid = $this->some_model->insertBulkSingleApp($appname);//i tried to get the value here then insert below
        $this->some_model->insertBulkCI($ciname);
        $this->some_model->ASMAP($appid,$servid);
    }

    if($success == TRUE)
        redirect(base_url().'some_controller/uploadPage');
}
模型


您可能想要的是:

$this->db->insert_id() 执行数据库插入时的插入ID号


更多信息:

您需要这样做,这非常简单 在查询之后插入

$queryStr = "INSERT INTO appwarehouse.service(service) VALUES ('$service');";
使用此选项而不是选择

return $this->db->insert_id();
或者如果您确实需要返回对象

$queryStr = "SELECT id FROM appwarehouse.application_table WHERE app_name='$app_name' AND visibility = 'VISIBLE';";
$query = $this->db->query($queryStr);
返回id而不是对象

return $query->row()->id;
还有一件事需要注意。insert\u id是最后一个插入的id,因此您不必运行select查询来获取id


还可以使用
row()
选择单个记录
result()
选择多条记录,以便获得一个数组。请参阅。

它在返回$query->result()->id时显示未定义的$id;抱歉,它应该是
row()
而不是
result()
如果我想插入具有不同组合的相同条目该怎么办return$query->row()->id有问题;当我在
insertBulkServ
中插入具有不同组合的相同值时,您只需插入一条记录并返回id,然后在
insertBulkSingleApp
中将该id用于另一个组合,因此您无需担心。
return $query->row()->id;