在codeigniter中插入语句

时间:2014-02-06 08:55:34

标签: php mysql codeigniter

这是我正在使用的声明。

$sql = "INSERT INTO store (shop_id, shop_index, items) VALUES ('$shop_id','65535','4')";
$this->db->query($sql);
return shop_st;

shop_st是自动递增的主键,我想返回它。我想知道我的查询是正确还是错误。如果我出错了,请告诉我。

3 个答案:

答案 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