Verabschieden Sie sich von langweiliger SQL -Abfrage! Vereinfachen Sie die Datenbankoperationen mit fluentPdo
Sind Sie es leid, auch SQL -Abfragen zu schreiben? Besonders wenn die Zeit eng ist. Wenn Sie wie ich sind, lernen wir heute ein sehr cooles Werkzeug: fluentpdo. Wenn Sie mit dem Begriff "PDO" nicht vertraut sind, mach dir keine Sorgen. Es ist ein sehr einfaches Konzept: In der PHP -Welt steht PDO für persistentes Datenobjekt, mit dem Sie einige grundlegende Datenbankvorgänge (wie Einfügen, Aktualisierung, Löschen usw.) abstrahieren können. Es ist eine Abstraktionsebene zwischen Ihnen und der Datenbank.
Was ist das Ergebnis? Keine Notwendigkeit mehr, SQL -Abfragen zu schreiben! Dies ist möglicherweise nicht das erste solche Projekt, das Sie jemals gesehen haben: Es gibt viele ähnliche Projekte auf dem Markt, die jeweils ihre wichtigsten Funktionen haben. Das Hauptmerkmal von FluentPdo ist der leistungsstarke Join -Query -Builder.
Schlüsselpunkte
- fluentPdo ist ein PHP SQL Query Builder, der grundlegende Datenbankoperationen abstrahiert, ohne SQL -Abfragen zu schreiben. Die wichtigste Funktion ist ein leistungsstarker Join Query Builder.
- Die Installation von FluentPdo erfolgt über Komponist ohne zusätzliche Konfiguration. Instantieren Sie das PDO -Objekt, indem Sie es als Parameter an den Konstruktor des fluentPDO -Objekts übergeben.
- fluentPdo bietet eine einfache und einfach zu lesende Syntax für grundlegende Auswahlvorgänge, einschließlich Methoden zum Festlegen von Tabellen, Filterergebnissen und Angabe von Vergleichsbetreibern. Außerdem können bestimmte Felder, Einstellungsgrenz- und Offset -Parameter ausgewählt werden und die Anweisungen mit und bestellen, gruppieren und bestellen.
- fluentPdo unterstützt auch Datenvorgänge mithilfe von Betriebserlebnisklassen ein Insert-, Aktualisierungs- und Löschen. Diese Operationen erfordern die Ausführung der Ausführung () -Methode, um die Abfrage auszuführen und die Datenbank zu ändern.
- Erweiterte Funktionen von FluentPdo enthalten den Join-Query Builder (der Code vereinfacht die Join-Abfrage) und ein integriertes Debugger-System (zum Testen und Überprüfen von Abfragen).
unser fluentpdo -Testprojekt
Erstens brauchen wir ein Beispielprojekt, um es zu tun. Lassen Sie uns darüber nachdenken ... wie wäre es mit einer einfachen Multi-User-Wunschliste?
Es wird viele Benutzer geben, und jeder Benutzer hat sein eigenes Lieblingsprodukt. Für jeden Benutzer speichern wir den Vornamen, den Nachnamen und den Registrierungsdatum. Für jeden Artikel speichern wir den Namen, die Marke, den Preis und die damit verbundene Benutzer -ID.
Ich werde eine einfache MySQL -Datenbank verwenden. Hier ist unsere Datenstruktur:
Folgendes ist ein SQL -Dump (einschließlich einiger Dummy -Daten):
CREATE TABLE IF NOT EXISTS items ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(100) NOT NULL, brand varchar(100) NOT NULL, price decimal(10,2) NOT NULL, user_id int(10) unsigned NOT NULL, PRIMARY KEY (id), KEY user_id (user_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; INSERT INTO items (id, name, brand, price, user_id) VALUES (1, 'Last Awesome Phone', 'Awesome Brand', '550.00', 1), (2, 'Last Awesome TV', 'Awesome Brand', '1200.00', 1), (3, 'Fantastic E-Car', 'E-Cars Inc.', '80000.00', 2), (4, 'Fantastic E-Bike', 'E-Bikes Co. Ltd.', '16000.00', 2); CREATE TABLE IF NOT EXISTS users ( id int(10) unsigned NOT NULL AUTO_INCREMENT, first_name varchar(100) NOT NULL, last_name varchar(100) NOT NULL, signup_date datetime NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3; INSERT INTO users (id, first_name, last_name, signup_date) VALUES (1, 'Francesco', 'Malatesta', '2014-06-29 13:00:00'), (2, 'John', 'Foo Bar', '2014-06-20 11:16:39'); ALTER TABLE items ADD CONSTRAINT items_ibfk_1 FOREIGN KEY (user_id) REFERENCES users (id);
Hinweis: Wie Sie sich leicht vorstellen können, ist dies kein "vollständiges" Projekt. Wir probieren nur fließendpdo aus, sodass wir keine Dinge wie Login, Registrierung oder Anwendungsstruktur abdecken.
Installation
Sie können FluentPdo mit Composer installieren und als Abhängigkeit einschließen:
"require": { ... "lichtner/fluentpdo": "dev-master" }
Wenn Sie fertig sind, müssen Sie es so instanziieren:
CREATE TABLE IF NOT EXISTS items ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(100) NOT NULL, brand varchar(100) NOT NULL, price decimal(10,2) NOT NULL, user_id int(10) unsigned NOT NULL, PRIMARY KEY (id), KEY user_id (user_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; INSERT INTO items (id, name, brand, price, user_id) VALUES (1, 'Last Awesome Phone', 'Awesome Brand', '550.00', 1), (2, 'Last Awesome TV', 'Awesome Brand', '1200.00', 1), (3, 'Fantastic E-Car', 'E-Cars Inc.', '80000.00', 2), (4, 'Fantastic E-Bike', 'E-Bikes Co. Ltd.', '16000.00', 2); CREATE TABLE IF NOT EXISTS users ( id int(10) unsigned NOT NULL AUTO_INCREMENT, first_name varchar(100) NOT NULL, last_name varchar(100) NOT NULL, signup_date datetime NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3; INSERT INTO users (id, first_name, last_name, signup_date) VALUES (1, 'Francesco', 'Malatesta', '2014-06-29 13:00:00'), (2, 'John', 'Foo Bar', '2014-06-20 11:16:39'); ALTER TABLE items ADD CONSTRAINT items_ibfk_1 FOREIGN KEY (user_id) REFERENCES users (id);
Sie müssen Ihre Verbindungsdetails in der PDO -Konstruktor -Methode angeben. Geben Sie im ersten Parameter Ihren Datenbanknamen nach dem Abschnitt dbname = ein und schreiben Sie Ihren Benutzernamen und Ihr Passwort als zweite bzw. dritte Parameter.
Sie dann das PDO -Objekt als Parameter an den Konstruktor des fluentPDO -Objekts übergeben.
Das ist es, fluentpdo braucht nichts anderes, um zu arbeiten. Keine zusätzliche Konfiguration erforderlich.
Basic Select Operation
Wir haben bereits einige virtuelle Daten. Beginnen wir mit "Hello World" von SQL Query. Eine einfache Auswahl mit einer WHERE -Klausel und der Benutzer der Primärschlüssel -ID der Benutzer als Parameter zum Abrufen der grundlegenden Informationen.
"require": { ... "lichtner/fluentpdo": "dev-master" }
Hier ist nichts schwer zu verstehen. Fluentpdo hat eine gute und leicht zu lesende Syntax, daher ist es leicht zu verstehen, was wir tun.
Dievon () Methode wird verwendet, um die richtige Tabelle festzulegen. Die Methode WO () wird verwendet, um unsere Ergebnisse mit derselben Namensklausel zu filtern. Standardmäßig geben Sie in der Methode where () den Feldnamen und den Wert an. "=" ist implizit. Natürlich können Sie auch verschiedene Vergleichsoperatoren verwenden. In diesem Fall müssen Sie sie nach dem Feldnamen schreiben.
$pdo = new PDO("mysql:dbname=wishlist", "root", "password"); $fpdo = new FluentPDO($pdo);
Die Ergebnisse erhalten ist sehr einfach: Sie werden in dem von uns gerade verwendeten $ Query -Objekt gespeichert. Sie können es mit einer für die LEACH -Schleife itererieren, wie im Beispiel gezeigt.
In diesem speziellen Fall (Durchsuchen des Elements nach Primärschlüssel -ID) können wir auch Verknüpfungen in der von () Methode () verwenden:
$user_id = 1; $query = $fpdo->from('users')->where('id', $user_id); foreach($query as $row){ echo 'Hello, ' . $row['first_name'] . ' ' . $row['last_name'] . '!'; }
Lassen Sie uns etwas komplizierteres sehen als dieses.
Wählen Sie ein bestimmtes Feld
ausWenn Sie möchten, können Sie die Select () -Methode von () zum Auswählen verwenden. Sie müssen nur ein Array verwenden, um Fluentpdo zu mitteilen, welche Felder Sie auswählen möchten.
Dies ist ein Beispiel:
$fpdo->from('items')->where('price >', 1000);
Grenze und Offset
Einstellen der Grenz- und Offset -Parameter, um nur eine bestimmte Anzahl von Zeilen aus der Datenbank abzurufen, ist sehr einfach. Sie können Limit () und Offset () -Methoden wie diese verwenden.
$query = fpdo->from('users', $user_id); // 将与...相同 $query = $fpdo->from('users')->where('id', $user_id);
Das einzige Argument für diese beiden Methoden ist eine Ganzzahl, die den erforderlichen Wert angibt (für Limit (), es ist die Anzahl der Elemente; für Offset (), es ist die Anzahl der zu überspringen zu übersprungenen Elemente).
, gruppe von und order nach
Methoden werden auch für die "Have", "Group By" und "Order By" -Beweisungen bereitgestellt.
Schauen wir sie uns mit einigen Beispielen an.
bestellen nach
Die MethodeorderBy () wird verwendet, um die Ergebnisse nach bestimmten Bedingungen zu sortieren. Lassen Sie uns ein Beispiel geben: Hier erfahren Sie, wie Sie die Ergebnisse nach Preis sortieren (von billig bis teur).
$query = $fpdo->from('users')->select(array('first_name', 'last_name'))->where('id', $user_id);
Wenn Sie die Reihenfolge umkehren möchten (das Ergebnis von den teuersten bis zum billigsten erhalten), fügen Sie einfach nach der ausgewählten Spalte "Desc" hinzu.
// 选择前十个结果... $query = $fpdo->from('users')->where('id', $user_id)->limit(10)->offset(0);
mit
Die Methodehat () hat eine sehr einfache Syntax. Im folgenden Beispiel filtern wir jeden Artikel, der weniger als 2.000 US -Dollar kostet.
$query = $fpdo->from('items')->orderBy('price');
sehr einfach.
Sie können jeden gewünschten Vergleichsbetreiber verwenden.
Gruppe nach
Verwenden Sie die Gruppe GroupBy (), Sie können die Ergebnisse mit bestimmten Feldern als Bedingungen gruppieren. Hier zeigen wir die Produktmenge für jede Marke.
CREATE TABLE IF NOT EXISTS items ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(100) NOT NULL, brand varchar(100) NOT NULL, price decimal(10,2) NOT NULL, user_id int(10) unsigned NOT NULL, PRIMARY KEY (id), KEY user_id (user_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; INSERT INTO items (id, name, brand, price, user_id) VALUES (1, 'Last Awesome Phone', 'Awesome Brand', '550.00', 1), (2, 'Last Awesome TV', 'Awesome Brand', '1200.00', 1), (3, 'Fantastic E-Car', 'E-Cars Inc.', '80000.00', 2), (4, 'Fantastic E-Bike', 'E-Bikes Co. Ltd.', '16000.00', 2); CREATE TABLE IF NOT EXISTS users ( id int(10) unsigned NOT NULL AUTO_INCREMENT, first_name varchar(100) NOT NULL, last_name varchar(100) NOT NULL, signup_date datetime NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3; INSERT INTO users (id, first_name, last_name, signup_date) VALUES (1, 'Francesco', 'Malatesta', '2014-06-29 13:00:00'), (2, 'John', 'Foo Bar', '2014-06-20 11:16:39'); ALTER TABLE items ADD CONSTRAINT items_ibfk_1 FOREIGN KEY (user_id) REFERENCES users (id);
Hinweis: Sie können einen Alias für Felder wie in Classic SQL angeben.
Methode abrufen
Fetch
für foreach ist nicht der einzige Weg, um das Ergebnis zu erzielen. Was ist, wenn wir nur das erste Ergebnis aus der Sammlung abrufen möchten?
Verwenden Sie einfach die Fetch () -Methode:
"require": { ... "lichtner/fluentpdo": "dev-master" }
Sie können auch eine einzelne Spalte erhalten, indem Sie ihren Namen als Parameter angeben.
$pdo = new PDO("mysql:dbname=wishlist", "root", "password"); $fpdo = new FluentPDO($pdo);
fetchpairs
Verwenden von Fetchpairs () können Sie die Ergebnisse als assoziatives Array abrufen. Verwenden Sie die folgende Syntax:
$user_id = 1; $query = $fpdo->from('users')->where('id', $user_id); foreach($query as $row){ echo 'Hello, ' . $row['first_name'] . ' ' . $row['last_name'] . '!'; }
Sie erhalten die folgende Ausgabe:
$fpdo->from('items')->where('price >', 1000);
Dies ist ein Beispiel, das eine Benutzer-Einheit-ID und einen Namensnamen verwendet.
$query = fpdo->from('users', $user_id); // 将与...相同 $query = $fpdo->from('users')->where('id', $user_id);
fetchall
Die letzte but not least ist die Fetchall () -Methode.
Folgendes ist die Syntax:
$query = $fpdo->from('users')->select(array('first_name', 'last_name'))->where('id', $user_id);
Verwenden von Fetchall () haben wir die vollständige Kontrolle über das, was wir aus dem Ergebnis erhalten. Der erste Parameter $ Index ist das als Index verwendete Feld, und $ selectOnly wird verwendet, um das zu ausgewählte Feld anzugeben.
Dies ist ein Beispiel:
// 选择前十个结果... $query = $fpdo->from('users')->where('id', $user_id)->limit(10)->offset(0);
Hinweis: Die als Index (ID in diesem Fall) verwendete Spalte ist ebenfalls im endgültigen Array enthalten.
Okay, es ist genug an ausgewählten Operationen. Schauen wir uns andere CRUD -Operationen an.
Einfügen, Aktualisieren und Löschen
Beifluentpdo geht es nicht nur darum, etwas auszuwählen. Es hat auch Klassen, die Daten auf einfache Weise manipulieren.
Beginnen wir mit dem Einfügenvorgang.
einfügen
$query = $fpdo->from('items')->orderBy('price');Die Methode
InsertInto () wird verwendet, um die für den Vorgang verwendete Tabelle anzugeben. Anschließend müssen Sie die erforderlichen Werte mit der Methode Values () zuweisen (in diesem Fall werden sie im $ VAST Associativ -Array gespeichert).
Der letzte Schritt ist die methode execute (), die den Primärschlüssel des neuen Datensatzes zurückgibt.
Sie können diese Verknüpfung auch verwenden, wenn Sie möchten:
$query = $fpdo->from('items')->orderBy('price DESC');
update
Aktualisierungsmethode ist sehr ähnlich. Schauen wir uns ein Beispiel an.
$query = $fpdo->from('items')->having('price <', 2000);
Verwenden Sie die Methode set (), Sie können einen neuen Wert für die Aktualisierungsoperation angeben.
Verwenden Sie die Methode WO (), wir filtern die betroffenen Zeilen. Es gibt auch eine Abkürzung, wie bereits erwähnt.
löschen
Betrieb löschen ist einfacher. Hier ist ein kurzes Beispiel.
$query = $fpdo->from('items')->select('brand, COUNT(*) AS c')->groupBy('brand');
Wenn Sie einen Datensatz löschen möchten, der seinen Primärschlüssel kennt, können Sie die oben deletefrom () -Knortation verwenden.
Hinweis: Wie Sie aus dem Beispiel hier sehen können, müssen Sie die Methode execute () verwenden, um die Abfrage zu löschen. Wenn Sie dies nicht tun, werden Sie in der Datenbank nichts ändern. Gleiches gilt für Einfügen und Update. Denken Sie daran.
Erweiterte Funktionen
Wie ich Ihnen bereits sagte, haben diese Arten von Projekten ihre eigenen einzigartigen Funktionen. Fluentpdo ist keine Ausnahme: Wir werden zwei dieser Funktionen analysieren: den Join Query Builder und der Debugger.
Join Query Builder
ist wahrscheinlich das wichtigste einzigartige Merkmal von Fluentpdo. Der Bauherr ist sehr nützlich, wenn Sie Ihre Arbeit vereinfachen und weniger Code schreiben möchten. Mal sehen, wie man es benutzt.
Wir werden mit der "Classic" -Be -Abfrage beginnen, die mit FluentPdo geschrieben wurde.
ähnlich wie folgt:
$query = $fpdo->from('users'); $row = $query->fetch(); var_dump($row); // 将输出: // array(4) { ["id"]=> string(1) "1" ["first_name"]=> string(9) "Francesco" ["last_name"]=> string(9) "Malatesta" ["signup_date"]=> string(19) "2014-06-29 13:00:00" }
OK: Wir verwenden die klassische Syntax in der Special LeftJoin () -Methode. Nicht schlecht.
Aber wir können es besser machen. Wenn Sie Konventionen in einer Tabellenstruktur verwenden, können Sie diesen Code verwenden:
CREATE TABLE IF NOT EXISTS items ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(100) NOT NULL, brand varchar(100) NOT NULL, price decimal(10,2) NOT NULL, user_id int(10) unsigned NOT NULL, PRIMARY KEY (id), KEY user_id (user_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; INSERT INTO items (id, name, brand, price, user_id) VALUES (1, 'Last Awesome Phone', 'Awesome Brand', '550.00', 1), (2, 'Last Awesome TV', 'Awesome Brand', '1200.00', 1), (3, 'Fantastic E-Car', 'E-Cars Inc.', '80000.00', 2), (4, 'Fantastic E-Bike', 'E-Bikes Co. Ltd.', '16000.00', 2); CREATE TABLE IF NOT EXISTS users ( id int(10) unsigned NOT NULL AUTO_INCREMENT, first_name varchar(100) NOT NULL, last_name varchar(100) NOT NULL, signup_date datetime NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3; INSERT INTO users (id, first_name, last_name, signup_date) VALUES (1, 'Francesco', 'Malatesta', '2014-06-29 13:00:00'), (2, 'John', 'Foo Bar', '2014-06-20 11:16:39'); ALTER TABLE items ADD CONSTRAINT items_ibfk_1 FOREIGN KEY (user_id) REFERENCES users (id);
Großartig, oder? Ok, schnell ist wirklich cool ... aber was ist mit Smart?
schauen Sie hier:
"require": { ... "lichtner/fluentpdo": "dev-master" }
Es wurde besser.
In der Tat versteht FluentPdo, was Sie tun möchten, und erstellt die Abfrage automatisch mithilfe von Daten, die Sie in der Methode Select () mit der Tabelle angeben.
Sie können die endgültige Build -Abfrage für das letzte Beispiel hier lesen:
$pdo = new PDO("mysql:dbname=wishlist", "root", "password"); $fpdo = new FluentPDO($pdo);
Das sieht gut aus.
Natürlich können Sie einen Alias für das Feld erstellen, wenn Sie möchten:
$user_id = 1; $query = $fpdo->from('users')->where('id', $user_id); foreach($query as $row){ echo 'Hello, ' . $row['first_name'] . ' ' . $row['last_name'] . '!'; }
Debugger
fluentPdo verfügt über ein integriertes Debugger-System, mit dem Sie Abfragen testen und überprüfen können.
Es wird ein einfaches Verschlusssystem verwendet. Wenn Sie Debugging verwenden möchten, platzieren Sie diesen Code einfach, nachdem Sie den Code verbinden.
$fpdo->from('items')->where('price >', 1000);
Sie können den Verschluss so anpassen, wie Sie möchten, und denken Sie daran, das $ Basequery -Objekt als Parameter zu nehmen.
$ Basisquery -Objekt ist eine Instanz der Basisquery -Klasse.
Schlussfolgerung
fluentpdo ist ein kleines und einfaches Projekt. Es passt definitiv nicht zu jedem Projekt und kann verbessert werden - insbesondere wenn es seit sechs Monaten ruhte - aber für kleine/mittelgroße Anwendungen kann es eine gute Option sein, falls Sie keine großen Frameworks im Spiel einführen möchten . Es ist ein guter Kompromiss aufgrund einiger seiner Funktionen, wie dem Join Query Builder.
FAQs über den Einstieg mit Fluentpdo (FAQs)
Was ist fließend und warum sollte ich es verwenden?
fluentPdo ist ein PHP SQL Query Builder, der PDO verwendet. Es bietet eine einfache und benutzerfreundliche Oberfläche zum Erstellen von SQL-Abfragen, sodass Entwickler die Interaktion mit Datenbanken einfacher sind. FluentPdo ist besonders nützlich für diejenigen, die nicht daran gewöhnt sind, RAW -SQL -Abfragen zu schreiben oder den Entwicklungsprozess zu beschleunigen. Es unterstützt alle SQL -Funktionen und bietet eine sichere Möglichkeit, SQL -Injektionsangriffe zu verhindern.
Wie installiere ich Fluentpdo?
fluentPdo kann mit Composer (PHP -Abhängigkeitsmanager) installiert werden. Sie können es installieren, indem Sie den Befehl composer require envms/fluentpdo
ausführen. Nach dem Ausführen dieses Befehls lädt und installiert Composer FluentPDO und seine Abhängigkeiten in Ihr Projekt.
Wie verbindet ich mit FluentPdo eine Verbindung zu einer Datenbank?
Um mit FluentPdo eine Verbindung zur Datenbank herzustellen, müssen Sie eine neue Instanz der FluentPDO -Klasse erstellen. Sie können dies tun, indem Sie eine PDO -Instanz an den fließenden Konstruktor weitergeben. Hier ist ein Beispiel:
$query = fpdo->from('users', $user_id); // 将与...相同 $query = $fpdo->from('users')->where('id', $user_id);
Wie kann ich mit FluentPdo ausgewählte Abfrage ausführen?
fluentPdo bietet eine einfache Schnittstelle zur Ausführung ausgewählter Abfragen. Sie können eine Tabelle mit der Methode from
angeben und eine Spalte mit der Methode select
angeben. Hier ist ein Beispiel:
$query = $fpdo->from('users')->select(array('first_name', 'last_name'))->where('id', $user_id);
Wie führt ich eine Insert -Abfrage mit FluentPdo aus?
Um eine Insert -Abfrage auszuführen, können Sie die Tabelle mit der Methode insertInto
angeben und den Wert mit der values
-Methode angeben. Hier ist ein Beispiel:
CREATE TABLE IF NOT EXISTS items ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(100) NOT NULL, brand varchar(100) NOT NULL, price decimal(10,2) NOT NULL, user_id int(10) unsigned NOT NULL, PRIMARY KEY (id), KEY user_id (user_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; INSERT INTO items (id, name, brand, price, user_id) VALUES (1, 'Last Awesome Phone', 'Awesome Brand', '550.00', 1), (2, 'Last Awesome TV', 'Awesome Brand', '1200.00', 1), (3, 'Fantastic E-Car', 'E-Cars Inc.', '80000.00', 2), (4, 'Fantastic E-Bike', 'E-Bikes Co. Ltd.', '16000.00', 2); CREATE TABLE IF NOT EXISTS users ( id int(10) unsigned NOT NULL AUTO_INCREMENT, first_name varchar(100) NOT NULL, last_name varchar(100) NOT NULL, signup_date datetime NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3; INSERT INTO users (id, first_name, last_name, signup_date) VALUES (1, 'Francesco', 'Malatesta', '2014-06-29 13:00:00'), (2, 'John', 'Foo Bar', '2014-06-20 11:16:39'); ALTER TABLE items ADD CONSTRAINT items_ibfk_1 FOREIGN KEY (user_id) REFERENCES users (id);
Wie führt ich eine Update -Abfrage mit FluentPdo aus?
Um eine Update -Abfrage auszuführen, können Sie die Tabelle mit der Methode update
angeben, den neuen Wert mit der set
-Methode angeben und die Bedingungen mit der Methode where
angeben. Hier ist ein Beispiel:
"require": { ... "lichtner/fluentpdo": "dev-master" }
Wie führe ich die Abfrage mit FluentPdo aus?
Um eine Löschabfrage durchzuführen, können Sie die Tabelle mit der Methode deleteFrom
angeben und die Bedingungen mit der Methode where
angeben. Hier ist ein Beispiel:
$pdo = new PDO("mysql:dbname=wishlist", "root", "password"); $fpdo = new FluentPDO($pdo);
Wie kann man mit Fehlern in fluentpdo umgehen?
Wenn ein Fehler auftritt, macht fluentpdo eine Ausnahme. Sie können den Try-Catch-Block verwenden, um diese Ausnahmen zu erfassen und diese entsprechend umzugehen. Hier ist ein Beispiel:
$user_id = 1; $query = $fpdo->from('users')->where('id', $user_id); foreach($query as $row){ echo 'Hello, ' . $row['first_name'] . ' ' . $row['last_name'] . '!'; }
Wie kann ich Transaktionen in fluentpdo verwenden?
FluentPdo bietet Methoden zum Starten, Verpflichten und Rollen von Transaktionen. Sie können beginTransaction
, commit
bzw. rollBack
Methoden verwenden. Hier ist ein Beispiel:
$fpdo->from('items')->where('price >', 1000);
Wie kann ich FluentPdo verwenden, um Tabellen zu verbinden?
fluentPdo bietet eine einfache Schnittstelle zum Verbinden von Tabellen. Sie können die Methode join
verwenden, um Tabellen und Bedingungen anzugeben. Hier ist ein Beispiel:
$query = fpdo->from('users', $user_id); // 将与...相同 $query = $fpdo->from('users')->where('id', $user_id);
Das obige ist der detaillierte Inhalt vonErste Schritte mit fluentpdo. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Die PHP -Protokollierung ist für die Überwachung und Debugie von Webanwendungen von wesentlicher Bedeutung sowie für das Erfassen kritischer Ereignisse, Fehler und Laufzeitverhalten. Es bietet wertvolle Einblicke in die Systemleistung, hilft bei der Identifizierung von Problemen und unterstützt eine schnellere Fehlerbehebung

Laravel vereinfacht die Behandlung von temporären Sitzungsdaten mithilfe seiner intuitiven Flash -Methoden. Dies ist perfekt zum Anzeigen von kurzen Nachrichten, Warnungen oder Benachrichtigungen in Ihrer Anwendung. Die Daten bestehen nur für die nachfolgende Anfrage standardmäßig: $ Anfrage-

Die PHP Client -URL -Erweiterung (CURL) ist ein leistungsstarkes Tool für Entwickler, das eine nahtlose Interaktion mit Remote -Servern und REST -APIs ermöglicht. Durch die Nutzung von Libcurl, einer angesehenen Bibliothek mit Multi-Protokoll-Dateien, erleichtert PHP Curl effiziente Execu

Laravel bietet eine kurze HTTP -Antwortsimulationssyntax und vereinfache HTTP -Interaktionstests. Dieser Ansatz reduziert die Code -Redundanz erheblich, während Ihre Testsimulation intuitiver wird. Die grundlegende Implementierung bietet eine Vielzahl von Verknüpfungen zum Antworttyp: Verwenden Sie Illuminate \ Support \ facades \ http; Http :: fake ([ 'Google.com' => 'Hallo Welt',, 'github.com' => ['foo' => 'bar'], 'Forge.laravel.com' =>

Möchten Sie den dringlichsten Problemen Ihrer Kunden in Echtzeit und Sofortlösungen anbieten? Mit Live-Chat können Sie Echtzeitgespräche mit Kunden führen und ihre Probleme sofort lösen. Sie ermöglichen es Ihnen, Ihrem Brauch einen schnelleren Service zu bieten

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

Alipay PHP ...

In dem Artikel werden Frameworks hinzugefügt, das sich auf das Verständnis der Architektur, das Identifizieren von Erweiterungspunkten und Best Practices für die Integration und Debuggierung hinzufügen.


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

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Dreamweaver CS6
Visuelle Webentwicklungstools

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung