Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Codeigniter simple_query vs. Query Builder (Einfügen, Aktualisieren und Löschen)

simple_query() ist die einzige Datenbankmethode in CodeIgniter, die sich so verhält, wie Sie darauf hingewiesen haben. In der Dokumentation heißt es:"Die meisten Benutzer werden diese Funktion selten verwenden."

Mit wenigen Ausnahmen geben alle anderen Query Builder-Methoden entweder einen DB_query_builder zurück Instanz ein CI_DB_result Objekt oder – im Fall von Abfragen vom Typ „Schreiben“ – ein boolescher Wert, der Erfolg oder Misserfolg anzeigt. Die wenigen Ausnahmen geben eine ganze Zahl, einen String oder gemischt (einen Wert oder FALSE) zurück.

Alle Methoden, die Eingabewerte akzeptieren, maskieren (oder optional nicht) die bereitgestellten Werte.

Obwohl Query Builder (QB) ein großartiges Tool ist, ist es oft nicht notwendig. Mit $this->db->query('your statement here'); ist häufig effizienter. Verstehen Sie, dass das Ziel von QB darin besteht, eine Zeichenfolge zu erstellen, die buchstäblich in einem Aufruf von db->query('a query string'); verwendet wird .

Anstatt das alles einzutippen...

$this->db->select('id, name, email');
$this->db->from('customers');
$this->db->where('id', $id)
$this->db->where('active', $is_active)
$query = $this->get();
$result = $query->result();

Das folgende Eingeben führt zu genau denselben Ergebnissen wie das obige, da es direkt die Abfragezeichenfolge bereitstellt, die QB in den obigen Code eingebaut hat. (Die Abfrage wird auch vollständig maskiert.) Aber es führt eine Tonne weniger Code aus, um dorthin zu gelangen. (Mit Weniger Tippen.)

$query = $this->db->query("Select id, name, email from customers where id = ? and active = ?", [$id, $is_active]);
$result = $query->result();

Dies ist ein Beispiel für die Verwendung von Abfragebindung

Das Studium des Kernquellcodes (hauptsächlich in 'Treiber'-Dateien) wird Ihnen zeigen, wo Sie simple_query() verwenden angemessen und nützlich ist.