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