Heim  >  Artikel  >  Backend-Entwicklung  >  So führen Sie native SQL-Anweisungen im thinkPHP-Framework aus

So führen Sie native SQL-Anweisungen im thinkPHP-Framework aus

不言
不言Original
2018-06-07 17:38:357627Durchsuche

In diesem Artikel wird hauptsächlich die Methode zum Ausführen nativer SQL-Anweisungen im thinkPHP-Framework vorgestellt. Er analysiert die zugehörigen Bedienfähigkeiten beim Ausführen nativer SQL-Anweisungen in thinkPHP anhand von Beispielen und analysiert kurz den Unterschied zwischen den Abfrage- und Ausführungsmethoden. Freunde in Not Sie können sich auf das

-Beispiel in diesem Artikel beziehen, um die Methode zum Ausführen nativer SQL-Anweisungen im thinkPHP-Framework zu beschreiben. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Wie führe ich native SQL-Anweisungen in thinkphp aus?

$Model = new Model();//或者 $Model = D(); 或者 $Model = M();
$sql = "select * from `order`";
$voList = $Model->query($sql);

Sie benötigen lediglich ein neues leeres Modell, um die Methoden in Model zu erben.

HinweisAbfrage ist die Abfragefunktion, Ausführen ist die Funktion zum Hinzufügen, Löschen und Ändern

Beispiele für das Abfragen und Lesen von Attributwerten:

$sql = "select * from goods";
$Model = M();
$result = $Model->query($sql);
foreach ($result as $k=>$val){
$goods_id = $val["goods_id"];
}

Das Modell von tP kann native SQL-Operationen unterstützen und bietet zwei Methoden: Abfrage und Ausführung. Es gibt zwei Gründe:

Verschiedene Rückgabetypen

query wird zum Abfragen von verwendet und gibt den Datensatz zurück, der mit select oder findall identisch ist, sodass Sie das volist-Tag direkt verwenden können die Vorlage zur Ausgabe des Abfrageergebnisses

Ausführen wird für Schreibvorgänge verwendet, gibt den Status oder die Anzahl der betroffenen Datensätze zurück

2. Lese- und Schreibstatistiken sind erforderlich

Um Statistiken über die aktuelle Anzahl der Datenlese- und -schreibvorgänge zu ermöglichen, werden die Lese- und Schreibvorgänge der Datenbank getrennt (entsprechend Abfrage und Ausführung)

Die Verwendung von nativem SQL ist sehr einfach, wir müssen nicht einmal ein Modell instanziieren, zum Beispiel:

$Model = new Model(); // 实例化一个空模型

Die folgenden Methoden sind äquivalent

$Model = D();// 或者 $Model = M();
// 下面执行原生SQL操作
$Model->query('select * from think_user where status=1');
$Model->execute('update think_user set status=1 where id=1');

Wenn Sie ein Modell instanziieren, Sie können weiterhin native SQL-Operationen ausführen, ohne dass dies beeinträchtigt wird, zum Beispiel:

$User = D('User');
$User->query('select * from think_user where status=1');
$User->execute('update think_user set status=1 where id=1');

In diesem Fall können wir das Schreiben von SQL-Anweisungen vereinfachen, zum Beispiel:

$User->query('select * from __TABLE__ where status=1');
$User->execute('update __TABLE__ set status=1 where id=1');

Das System ersetzt automatisch __TABLE__ mit der Datentabelle, die dem aktuellen Modell entspricht. Der Name und die tatsächliche Datentabelle werden vom Modell bestimmt.

Im Allgemeinen verwenden wir native SQL-Operationen, um einige Operationen zu implementieren, die mit ORM und CURD schwer zu implementieren sind Darüber hinaus wenn das SQL nicht komplex ist, ist die Effizienz und Kohärenz von nativem SQL Der Unterschied in der Betriebseffizienz ist minimal und die ORM-Implementierung von TP selbst ist ebenfalls recht effizient.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Das ThinkPHP5-Framework implementiert einfach Batch-Abfragen.

Das ThinkPHP3.2-Framework verwendet addAll() für die Batch-Einfügung Datenmethode

ThinkPHP5-Methode zum Hinzufügen von Inhalten zur Datenbank

Das obige ist der detaillierte Inhalt vonSo führen Sie native SQL-Anweisungen im thinkPHP-Framework aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn