• 3.1.9
  • کامل شده
  • منقضی شده
این داکیومنت از طرف توسعه‌دهنده ساپورت نمی‌شود، جدیدترین ورژن داکیومنت بزودی ترجمه خواهد شد.

تنظیمات اتصال دیتابیس در CodeIgniter 3 در فایل application/config/database.php قرار دارد. در این فایل می‌توانید یک یا چند گروه اتصال تعریف کنید و مشخص کنید برنامه از کدام Driver، میزبان، نام دیتابیس، نام کاربری و Charset استفاده کند.

گروه اتصال پیش‌فرض

متغیر active_group نام گروه پیش‌فرض را تعیین می‌کند و query_builder فعال بودن Query Builder را مشخص می‌کند. هر گروه می‌تواند تنظیمات مستقل داشته باشد. برای نمونه، می‌توانید اتصال اصلی و اتصال گزارش‌گیری را جدا کنید.

$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
    'dsn' => '',
    'hostname' => '127.0.0.1',
    'username' => 'app_user',
    'password' => 'change-me',
    'database' => 'store',
    'dbdriver' => 'mysqli',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'char_set' => 'utf8mb4',
    'dbcollat' => 'utf8mb4_unicode_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

اتصال به گروه دیگر

اگر چند گروه اتصال تعریف کرده‌اید، می‌توانید با database($group, TRUE) یک نمونه مستقل دریافت کنید. این روش برای گزارش‌گیری یا اتصال به دیتابیس جداگانه کاربرد دارد.

گزینه‌های مهم

گزینهتوضیح
dbdriverDriver ارتباط مانند mysqli یا pdo
pconnectاستفاده از اتصال پایدار
db_debugنمایش یا مدیریت خطای دیتابیس
char_setمجموعه نویسه اتصال
dbcollatقواعد مقایسه رشته‌ها
save_queriesنگهداری Queryهای اجراشده

نکته مهم

اطلاعات ورود را در مخزن عمومی قرار ندهید. در محیط Production نمایش خطا را خاموش و Log امن را فعال کنید. Driver و افزونه PHP باید با نسخه دیتابیس هماهنگ باشند.

مطالعه مرتبط

برای ادامه مطالعه، ایندکس در دیتابیس، کوئری را ببینید.

نکات عملی برای دیتابیس

پیش از استفاده در محیط واقعی، Driver و نسخه موتور دیتابیس را با قابلیت‌های موردنیاز تطبیق دهید. Queryهای دارای ورودی کاربر باید Binding داشته باشند، عملیات چندمرحله‌ای باید در Transaction قرار بگیرند و برای Queryهای پرتکرار، Index و Execution Plan بررسی شود. تعداد Queryها و حجم Result نیز روی حافظه و زمان پاسخ اثر دارد.

برای عیب‌یابی، SQL تولیدشده، تعداد ردیف‌های متاثر و زمان اجرا را در محیط توسعه ثبت کنید. در Production اطلاعات محرمانه را از Log حذف کنید و خطاهای دیتابیس را به کاربر نشان ندهید. اگر ساختار جدول تغییر می‌کند، تغییر را نسخه‌بندی و پیش از اجرا Backup بگیرید.

سایر پست های داکیومنت