2012-03-25 11 views
4

Wie ich weiß, PDO-Unterstützung wurde kürzlich Codeigniter hinzugefügt, aber ich kann keine Dokumentation oder Tutorial finden, wie man es tatsächlich verwendet. Kann mir jemand sagen, wie kann ich es benutzen?Wie man PDO in Codeigniter benutzt?

+0

Was ist '$ pdo = neues PDO ($ dsn)'? http://php.net/pdo.construct – KingCrunch

+0

Op hat nicht 1 Bit Suche gemacht, das kann ich perfekt sagen. Ich habe gerade google 'codeigniter pdo' eingegeben und voila! Der 1. Link ist die Antwort! Ich hätte es aber dann doch tun können .... Ich schätze das Löffelfüttern nicht. Google diese Begriffe und der erste Link ist das Tutorial, nach dem Sie gesucht haben. Außerdem beschreibt dieser Artikel, wie die Sitzung in der Datenbank durch PDO per Code-Signierer gespeichert wird. – itachi

+1

Es wäre viel besser, wenn Sie den Artikel selbst gelesen hätten, nicht nur den Titel. Es wurde am 31. März 2011 geschrieben, während codenigniter 2.1 mit nativer Unterstützung von PDO im November 2011 veröffentlicht wurde. Ich habe den Artikel selbst noch nicht vollständig gelesen, aber warum müsste ich einige Klassen kopieren und hack ci native Bibliotheken kopieren, wenn er bereits PDO unterstützt ??? –

Antwort

2

Nun, da CodeIgniter nur ein PHP-Framework ist, hindert Sie nichts daran, es nativ zu verwenden, wie in $pdo = new PDO(...);.

Allerdings, wenn sie sagen, PDO wird jetzt unterstützt, ich denke, sie meinen, ihre normale Database Klasse verwendet jetzt PDO (anstatt MySQLi oder solche).

3

Sie können /application/config/database.php bearbeiten und die PDO-Treiber zu aktivieren:

$db['default']['hostname'] = 'pgsql:localhost'; 
// or mysql:localhost 
// or sqlite::memory: 
$db['default']['dbdriver'] = 'pdo'; 

Wenn Sie möchten, dass Sie direkt von Hand auf der aktiven DB-Verbindung erhalten. Das könnte funktionieren, aber ich bin kein CI-Entwickler .. also keine Garantien. Ich versuchte zu verstehen, dass Gehirn verrotten Code, aber ich vermute, dass ich versagte. Ich bin nicht gut in PHP4 + eval():

$CI = get_instance(); 
var_dump($CI->db->conn_id); 
// should show that conn_id is instance of PDO 
+1

+1 Um die aktive Verbindung zu erhalten. – Abdulaziz