কোডআইগনিটার অ্যাক্টিভরেকর্ড, শেষ sertোকানো আইডিটি পুনরুদ্ধার করবেন?


153

কোডইগনিটারে কোনও নতুন রেকর্ডের শেষ সন্নিবেশ আইডি পাওয়ার কোনও বিকল্প নেই?

$last_id = $this->db->insert('tablename',
    array('firstcolumn' => 'value',
    'secondcolumn' => 'value')
);

ক্ষেত্রগুলির আইডি (স্বতঃআগ্রহ) প্রথম কলাম এবং দ্বিতীয় কলামের সারণীযুক্ত বিবেচনাগুলি।

এইভাবে আপনি নীচের কোডটিতে সন্নিবেশ আইডিটি ব্যবহার করতে পারেন।


4
আমি কয়েকবার এই প্রশ্নে আসতে থাকি। অনেক ধন্যবাদ!
জিরিপ

উত্তর:


277

নিজের প্রতি লজ্জা...

আমি ব্যবহারকারীর গাইডের দিকে তাকিয়েছিলাম এবং প্রথম ফাংশনটি হ'ল$this->db->insert_id();

এটি সক্রিয় রেকর্ড সন্নিবেশগুলির সাথেও কাজ করে ...

সম্পাদনা: আমি লিঙ্কটি আপডেট করেছি


29
ইউজারগাইড এই জাতীয় জিনিসের জন্য আপনার সেরা বন্ধু। আমি 2+ বছর ধরে কোডইনিটার ব্যবহার করছি এবং আমি এখনও এর মতো ফাংশনগুলি পাই যা আমি কখনই জানতাম না।
টম শ্লিক

8
আপনার সন্নিবেশ এবং এই ফাংশনটি কোনও লেনদেনে মুড়তে ভুলবেন না কারণ ক্যোয়ারী শিডিয়ুলার এই ফাংশনটি চালানোর আগে অন্য কোনও বস্তু সন্নিবেশ করতে পারে
পার্কার.সিকান্দ

3
লিঙ্কটি মৃত, আপডেট হওয়া লিঙ্ক: ellislab.com/codeigniter/user-guide/datedia/helpers.html
womd

আমার insert_id () ব্যবহার করা দরকার, তবে আমি জানি না যে insert_id () আইডি দেওয়ার আগে মঞ্জুরি দেওয়া হয়েছে এর আগে সন্নিবেশ করানো ()! আমি বলতে চাইছি, অন্য অনুরোধে অন্য কোনও সন্নিবেশ () এর সাথে সম্পর্কিত আইডি পুনরুদ্ধার করা সম্ভব?
এনএম

37

শেষ সন্নিবেশ আইডি এর অর্থ আপনি সক্রিয় রেকর্ডে এই পদ্ধতিটি ব্যবহার করে sertedোকানো অটো ইনক্রিমেন্ট আইডি পেতে পারেন,

$this->db->insert_id() 
// it can be return insert id it is 
// similar to the mysql_insert_id in core PHP

আপনি এই লিঙ্কটি উল্লেখ করতে পারেন আপনি আরও কিছু স্টাফ পেতে পারেন।

একটি ক্যোয়ারী কার্যকর করা থেকে তথ্য


লিঙ্কটি সঠিক নয় lease দয়া করে লিঙ্কটি ঠিক করুন। নতুন লিঙ্ক কোডইনিটর
শাইফুল ইসলাম

11

নির্দিষ্ট টেবিলের জন্য আপনি $ this-> db-> insert_id () ব্যবহার করতে পারবেন না। এমনকি শেষ সন্নিবেশটি অনেক আগে ঘটেছে এটি এ জাতীয়ভাবে এনে দেওয়া যেতে পারে। ভুল হতে পারে। তবে আমার জন্য ভাল কাজ করছি

     $this->db->select_max('{primary key}');
     $result= $this->db->get('{table}')->row_array();
     echo $result['{primary key}'];

8

আইডি এবং ক্যোয়ারীগুলির অনুরোধে সহায়তা করে এমন বিশদের তালিকা

সর্বশেষ sertedোকানো আইডি আনার জন্য: এটি সারণী থেকে শেষ রেকর্ডগুলি আনবে

$this->db->insert_id(); 

এসকিউএল কোয়েরি আনছে মডেল অনুরোধের পরে এটি যুক্ত করুন

$this->db->last_query()


6

আপনার সন্নিবেশ সন্ধানের পরে, এই আদেশটি ব্যবহার করুন $this->db->insert_id(); শেষ সন্নিবেশ করা আইডিটি ফিরে পেতে ।

উদাহরণ স্বরূপ:

$this->db->insert('Your_tablename', $your_data);

$last_id =  $this->db->insert_id();

echo $last_id // assume that the last id from the table is 1, after the insert query this value will be 2.

5

এটা চেষ্টা কর.

public function insert_data_function($your_data)
{
    $this->db->insert("your_table",$your_data);
    $last_id = $this->db->insert_id();
    return $last_id;
}

@ ডেনিস ডেকোইন আপনি এই লিঙ্কটিও দেখতে পারেন ellislab.com/codeIgniter/user-guide
রাহাম

3
$this->db->insert_id();

ডাটাবেস সন্নিবেশ সম্পাদন করার সময় sertোকানো আইডি নম্বর প্রদান করে

কোডাইনাইটার -3 এর জন্য সহায়তা সহায়তা পদ্ধতি ery




0

কোডিগিটার 3 এ আপনি নিম্নলিখিত হিসাবে এটি করতে পারেন:

if($this->db->insert("table_name",$table_data)) {
    $inserted_id = $this->db->insert_id();
    return $inserted_id;
}

আপনি কোডিগিটার 3 এর জন্য সহায়তা পেতে পারেন এখান থেকে https://codeigniter.com/user_guide/datedia/helpers.html

কোডিগিটার 4 এ, আপনি নিম্নলিখিতটি প্রবেশের পরে আইডি পেতে পারেন:

$builder = $db->table("your table name");
if($builder->insert($table_data)) {
    $inserted_id = $db->insertID();
    return $inserted_id;
}

আপনি কোডিগিটার 4 এর জন্য এখানে সহায়তা পেতে পারেন https://codeigniter4.github.io/userguide/datedia/helpers.html

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.