Native Abfragen (Abfrage-Generator 13)


Die Db-Klasse unterstützt native SQL-Abfragevorgänge, hauptsächlich einschließlich der folgenden zwei Methoden:

Abfragemethode

Abfragemethode wird verwendet Die Operation „SQL-Abfrage ausführen“ gibt den Abfrageergebnisdatensatz (Array) zurück, genau wie die Methode „select“.

Verwendungsbeispiel:

Db::query("select * from think_user where status=1");

Wenn Sie derzeit eine verteilte Datenbank verwenden und eine Lese-/Schreibtrennung einrichten, wird die Abfragemethode standardmäßig auf dem Leseserver ausgeführt, unabhängig von Ihrer SQL-Anweisung Ist.

Wenn Sie aus der Hauptbibliothek lesen möchten, können Sie

Db::master(true)->query("select * from think_user where status=1");
verwenden.

Die von der neuen Version der Abfragemethode unterstützten Kettenoperationsmethoden umfassen:

链式方法说明
cache查询缓存
master是否主库查询(分布式有效)
procedure存储过程查询

Bsp Die ecute-Methode

execute wird für SQL-Vorgänge zum Aktualisieren und Schreiben von Daten verwendet. Wenn die Daten illegal sind oder die Abfrage falsch ist, gibt sie „false“ zurück, andernfalls wird die Anzahl der betroffenen Datensätze zurückgegeben.

Verwendungsbeispiel:

Db::execute("update think_user set name='thinkphp' where status=1");

Parameterbindung

Unterstützt die Parameterbindung in nativen Abfragen, einschließlich Fragezeichen-Platzhaltern oder benannten Belegungszeichen, zum Beispiel:

Db::query("select * from think_user where id=? AND status=?", [8, 1]);
// 命名绑定
Db::execute("update think_user set name=:name where status=:status", ['name' => 'thinkphp', 'status' => 1]);

Beachten Sie, dass die Parameterbindung für Tabellennamen nicht unterstützt wird