这是我正在使用的声明。
$sql = "INSERT INTO store (shop_id, shop_index, items) VALUES ('$shop_id','65535','4')";
$this->db->query($sql);
return shop_st;
shop_st是自动递增的主键,我想返回它。我想知道我的查询是正确还是错误。如果我出错了,请告诉我。
答案 0 :(得分:2)
试试这个
$data = array(
'shop_st' => NULL,
'shop_id' => $shop_id ,
'shop_index' => '65535' ,
'items' => '4'
);
function insertShop($data)
{
$res=$this->db->insert('store', $data)
if($res)
{
return $res;
}
else
{
return false;
}
}
答案 1 :(得分:1)
您必须使用insert_id辅助函数(http://ellislab.com/codeigniter/user-guide/database/helpers.html)
$sql = "INSERT INTO store (shop_id, shop_index, items) VALUES ('$shop_id','65535','4')";
$this->db->query($sql);
return $this->db->insert_id();
答案 2 :(得分:1)
就codeigniter的语法而言,如果启用database
帮助程序,则可以执行以下操作:
$data = array(
'shop_st' => NULL,
'shop_id' => $shop_id ,
'shop_index' => '65535' ,
'items' => '4'
);
$this->db->insert('mytable', $data);
我认为没有比你的方法更“正确”的了,除非你能做到这一点。
return $this->db->insert_id(); //shop_st
将为您提供上次插入的ID。
这个答案只是为了让你了解codeigniter的内置助手。
数据库助手可以是found here。