شروع سریع دیتابیس: کد نمونه

مجتبی پاکزاد کدایگنایتر 3.1.9 در حال تکمیل رایگان

در این پست، کدهای نمونه‌ای وجود دارد که نحوه کار کلاس دیتابیس را نشان می‌دهد. برای جزئیات کامل‌تر می‌توانید صفحات اختصاصی که هر فانکشن را توضیح می‌دهد را مطالعه کنید.

بارگذاری کلاس دیتابیس

کد زیر، بارگذاری اولیه کلاس را منطبق بر تنظیمات پیکربندی اپلیکیشن‌تان انجام می‌دهد.

$this->load->database();

هنگامی که کلاس لود شود، به صورتی که در ادامه توضیح داده شده است، قابل استفاده است.

توجه

اگر در تمام صفحات خود نیاز به اتصال به دیتابیس دارید، می‌توانید از اتصال خودکار استفاده کنید. برای اطلاعات بیشتر پست اتصال به دیتابیس را ببینید.

کوئری استاندارد با نتایج چندگانه (نمونه آبجکتی)

$query = $this->db->query('SELECT name, title, email FROM my_table');

foreach ($query->result() as $row)
{
        echo $row->title;
        echo $row->name;
        echo $row->email;
}

echo 'Total Results: ' . $query->num_rows();

فانکشن result() در مثال بالا، آرایه ای از آبجکت‌ها را برمی گرداند. مثال: $row->title

کوئری استاندارد با نتایج چندگانه (نمونه آرایه‌ای)

$query = $this->db->query('SELECT name, title, email FROM my_table');

foreach ($query->result_array() as $row)
{
        echo $row['title'];
        echo $row['name'];
        echo $row['email'];
}

فانکشن result_array() مثال بالا، آرایه‌ای از اندیس‌های آرایه استاندارد برمی‌گرداند. مثال: $row[‘title’]

کوئری استاندارد با نتیجه خاص

$query = $this->db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->row();
echo $row->name;

فانکشن row() مثال بالا، یک آبجکت برمی‌گرداند. مثال: $row->name

کوئری استاندارد با نتیجه خاص (نمونه آرایه‌ای)

$query = $this->db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->row_array();
echo $row['name'];

فانکشن row_array() مثال بالا، یک آرایه برمی‌گرداند. مثال: $row[‘name’]

دستور استاندارد Insert

$sql = "INSERT INTO mytable (title, name) VALUES (".$this->db->escape($title).", ".$this->db->escape($name).")";
$this->db->query($sql);
echo $this->db->affected_rows();

کوئری زدن با Query Builder

پترن Query Builder، روشی ساده جهت دریافت داده را در اختیار شما قرار می‌دهد:

$query = $this->db->get('table_name');

foreach ($query->result() as $row)
{
        echo $row->title;
}

فانکشن get() مثال بالا، تمام نتایج را از تیبل مورد نظر استخراج می‌کند. کلاس کوئری بیلدر حاوی گروهی کامل از فانکشن‌ها برای کار با داده‌ها است.

دستور Insert کلاس Query Builder

$data = array(
        'title' => $title,
        'name' => $name,
        'date' => $date
);

$this->db->insert('mytable', $data);  // Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')