thinkphp5.0 Studiennotizen Datenbankbetrieb
ThinkPHP verfügt über eine integrierte abstrakte Datenbankzugriffsschicht, die verschiedene Datenbankoperationen kapselt. Wir müssen nur die öffentliche Db-Klasse verwenden, um verschiedene Codes und zugrunde liegende Implementierungen für verschiedene Datenbanken zu schreiben den entsprechenden Datenbanktreiber zur Verarbeitung. Mithilfe der PDO-Methode bietet es derzeit Unterstützung für MySQL, SqlServer, PgSQL, Sqlite und andere Datenbanken.
1. Grundlegende Verwendung
Nachdem wir die Datenbankverbindungsinformationen konfiguriert haben, können wir die Datenbank direkt zum Ausführen nativer SQL-Vorgänge verwenden, Unterstützungquery
(Abfragevorgang) und execute
(Schreibvorgang) und unterstützt die Parameterbindung.
public function read() {$sql = Db::query('select * from news'); dump($sql); }
Die Ausgabe ist:
Methode ausführen:
public function read() {$sql = Db::execute('insert into news (nid, rid) values (11, 11)');; dump($sql); }
Ausgabe:
Datenbank erfolgreich hinzugefügt!
unterstützt auch die Bindung von benannten Platzhaltern , zum Beispiel:
public function read() {$sql = Db::query('select * from news where nid=:nid',['nid'=>1]); dump($sql); }
Ausgabe:
Ausführungsmethode:
public function read() {$sql = Db::execute('insert into news (nid, rid) values (:nid, :rid)',['nid'=>18,'rid'=>'121']); dump($sql); }
Ausgabe:
Datenbank erfolgreich hinzugefügt
kann mehrfach verwendet werden Datenbankverbindungen:
2. Abfragekonstruktor
Wie Sie am Namen erkennen können, ist es sehr anspruchsvoll...
Sehen wir uns zunächst die Grundabfrage an;
Daten abfragen:
// table方法必须指定完整的数据表名$sql =Db::table('news')->where('nid',1)->find(); dump($sql);
find = Ein Element abfragen; und das Abfrageergebnis existiert nicht, gib null zurück
Ausgabe:
Db::table('think_user')->where('status',1)->select();
Diese Abfrageanweisung ist die gleiche wie oben, aber das Abfrageergebnis der Auswahlmethode existiert nicht und gibt ein leeres Array zurück
Nun, dieses Ding heißt Abfragedatensatz, das ist richtig!
Standardmäßig geben die Such- und Auswahlmethoden Arrays zurück.
Was ist, wenn Sie den Wert eines bestimmten Feldes abfragen möchten?
public function read() {// 返回某个字段的值$sql =Db::table('news')->where('nid',18)->value('rid'); dump($sql); }
这样看输出,我求rid的值:
如果你需要处理成千上百条数据库记录,可以考虑使用chunk方法,该方法一次获取结果集的一小块,然后填充每一小块数据到要处理的闭包,该方法在编写处理大量数据库记录的时候非常有用。
public function read() {$sql =Db::table('news')->chunk(1,function($user){foreach($user as $u) { dump($u); } }); }
这个样子 就可以一条一条都给遍历出来了!
是“一条一条·”,嘿!
3.添加数据跟删除数据
使用 Db
类的 insert
方法向数据库提交数据
public function read() {$data = ['ntitle' => '123', 'rid' => '456'];$sql = Db::table('news')->insert($data); dump($sql); }
添加成功后insert 方法返回添加成功的条数,insert 正常情况返回 1
添加数据后如果需要返回新增数据的自增主键,可以使用getLastInsID
方法:
public function read() {$data = ['ntitle' => '123', 'rid' => '345'];$sql = Db::table('news')->insert($data);$userId = Db::name('news')->getLastInsID('nid'); dump($userId); dump($sql); }
看输出:
主键字段22!
添加多条数据:
添加多条数据直接向 Db 类的 insertAll 方法传入需要添加的数据即可;
public function read() {$data = [ ['ntitle' =>'gaga','rid' => '12'],['ntitle' =>'gaaaga','rid' => '123'] ];$sql = Db::table('news')->insertAll($data); dump($sql); }
这样的话,返回的应该是两条2
删除数据:
根据主键来删除
public function read() {// 根据主键 来删$sql = Db::table('news')->delete(1);//多删 //$sql = Db::table('news')->delete(1,2,3);dump($sql); }
执行成功返回影响行数;
还有一种是根据条件来删除的
public function read() {// 根据条件 来删$sql = Db::table('news')->where('nid',18)->delete();//多删 //$sql = Db::table('news')->where('nid','<',1)->delete();dump($sql); }
执行成功也是返回影响行数;
4.查询方法:
where方法:
可以使用where
方法进行AND
条件查询:
public function read() {$sql = Db::table('news')->where('nid',20)->where('ntitle',123)->find(); dump($sql); }
whereOr方法:
使用whereOr
方法进行OR
查询:
public function read() {$sql = Db::table('news')->where('nid',20)->whereOr('ntitle','like','%123%')->find(); dump($sql); }
混合查询:
where方法和whereOr方法在复杂的查询条件中经常需要配合一起混合使用
public function read() {$sql = Db::table('news')->where(function($query){$query->where('nid',21)->where('nid',22); })->whereOr(function($query) {$query->where('ntitle','123')->whereOr('ntitle','123'); })->select(); dump($sql); }
输出的是:
看一下生成的代码:
SELECT * FROM `news` WHERE ( `nid` = 1 OR `nid` = 2 ) OR ( `ntitle` LIKE '123' OR `ntitle` LIKE '123' )
第一个查询方法用where或者whereOr是没有区别的。
查询接五
Das obige ist der detaillierte Inhalt vonthinkphp5.0 Studiennotizen Datenbankbetrieb. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
