2014-02-06 4 views
0

Это мое заявление, которое я использую.Вставить заявление в codeigniter

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

shop_st - первичный ключ, который автоматически увеличивается, и я хочу его вернуть. Я хочу знать, является ли мой запрос правильным или неправильным. Пожалуйста, дайте мне знать, если я ошибаюсь.

+2

Чтобы узнать, является ли ваш запрос правильно или неправильно, вы должны выполнить ее –

+0

вы не получите ошибку здесь 'обратный shop_st'? –

ответ

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 

, который предоставит вам свой последний вставленный идентификатор.

Этот ответ предназначен только для повышения, чтобы вы знали о встроенных хелперах, созданных в кодеригенере.

Баланс базы данных может быть found here.

+0

Спасибо, Алекс. Я хочу вернуть shop_st. Я не хочу, чтобы он вернул мне shop_id. – TULSIRAJ

+0

@ user3270582 «insert_id» будет автоматически увеличивать первичный ключ. Таким образом, это будет тот, который вы ищете. ('shop_st') – Albzi

+0

Yup..Your правый. – TULSIRAJ

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; 
} 
} 
Смежные вопросы