Codeigniter adatbázis kapcsolat
Ebben a részben az adatbázis kapcsolódásról fogok írni, röviden, tömören, mivel a CodeIgniterben ez a feladat is rendkívül egyszerű.Az adatbázis kapcsolati rész feltételezi, hogy az 1. részben leírt telepített CodeIgniter Framework már a localhostunkon figyel, és csak arra vár hogy végre nagykorú lehessen, vagyis felszereljük néhány nagyon hasznos funkcióval így első körben a MySQL adatbázis eléréssel.
A beállító állomány a system/application/config/database.php útvonalon található. Jegyezzük meg, hogy a beállítió állományok a config mappában vannak, egyben megfigyelhejük milyen okos elrendezést képvisel a keretrendszer fajlrendszere.

A keretrendszer MySQLi függvények használatával, de akár ODBC-vel is tud működni, de győződjünk meg róla, hogy a rendelkezére álló PHP-ben, be van fordítva a MySQLi függvény család, PDO, ODBC, stb.. Ha nem vagyunk biztosak a dolgunkban akkor a dbdriver állítsuk a tuti befutóra a mysql-re.
Egyébként kérjünk egy PHPinfo-t és abban keresünk rá az adott Driver-re:
phpinfo();
$active_group = "default"; $active_record = TRUE; $db['default']['hostname'] = "localhost"; $db['default']['username'] = "install_test"; $db['default']['password'] = "test"; $db['default']['database'] = "install_test"; //mysql, mysqli, postgre, odbc, mssql, sqlite, oci8 $db['default']['dbdriver'] = "mysql"; $db['default']['dbprefix'] = ""; $db['default']['pconnect'] = FALSE; $db['default']['db_debug'] = TRUE; //Ha True akkor tárolja a kéréseket és Cache-ből nyomja (okozhat meglepetést) $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ""; $db['default']['char_set'] = "utf8"; $db['default']['dbcollat'] = "utf8_unicode_ci";
<a href="http://www.phpmyadmin.net" title="Adatbázis menedszer szoftver MySQL-hez">PHPMyAdmin</a>-nal hozzuk létre az adatbázist, amihez kapcsolódni fogunk. Jelen esetben az install_test-hez
CREATE DATABASE `install_test` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
- dbprefix: előtag a tábláinknak érdemes ci_-re venni pl: ci_cimke
- pconnect: Ha lehet maradjon False értéken
- db_debug: fejlesztés idején maradhat True
- cache_on: ha ez True akkor gyorsítótáraz minden kérést így mindig az eredeti állapotod mutatja. (okozhat meglepetéseket)
Ezzel a kapcsolódási adatok rendben vannak, de még nincs betöltve a database.php így nem történik semmi.
A config/autoload.php beállító fájlban tölthetünk be osztályokat, Helpereket, Plugineket, Nyeveket, Modeleket, config állományokat.. Mivel nekünk szükségünk van a database Library-re ezért ezt be kell tölteni.
/* | ------------------------------------------------------------------- | Auto-load Libraries | ------------------------------------------------------------------- | These are the classes located in the system/libraries folder | or in your system/application/libraries folder. | | Prototype: | | $autoload['libraries'] = array('database', 'session', 'xmlrpc'); */ $autoload['libraries'] = array('database');
Érdemes komolyabban áttanulmányozni a database.php és a autoload.php fájlt, részletesen kommentezve van minden egyes beállítás miértje.