Inhaltsverzeichnis
Schlüsselpunkte
unser fluentpdo -Testprojekt
Installation
Basic Select Operation
Wählen Sie ein bestimmtes Feld
Grenze und Offset
, gruppe von und order nach
bestellen nach
mit
Gruppe nach
Methode abrufen
Fetch
fetchpairs
fetchall
Einfügen, Aktualisieren und Löschen
update
löschen
Erweiterte Funktionen
Join Query Builder
Debugger
Schlussfolgerung
FAQs über den Einstieg mit Fluentpdo (FAQs)
Was ist fließend und warum sollte ich es verwenden?
Wie installiere ich Fluentpdo?
Wie verbindet ich mit FluentPdo eine Verbindung zu einer Datenbank?
Wie kann ich mit FluentPdo ausgewählte Abfrage ausführen?
Wie führt ich eine Insert -Abfrage mit FluentPdo aus?
Wie führt ich eine Update -Abfrage mit FluentPdo aus?
Wie führe ich die Abfrage mit FluentPdo aus?
Wie kann man mit Fehlern in fluentpdo umgehen?
Wie kann ich Transaktionen in fluentpdo verwenden?
Wie kann ich FluentPdo verwenden, um Tabellen zu verbinden?
Heim Backend-Entwicklung PHP-Tutorial Erste Schritte mit fluentpdo

Erste Schritte mit fluentpdo

Feb 20, 2025 pm 12:34 PM

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:

Getting Started with FluentPDO

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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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"  
    }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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"  
    }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Hier ist nichts schwer zu verstehen. Fluentpdo hat eine gute und leicht zu lesende Syntax, daher ist es leicht zu verstehen, was wir tun.

Die

von () 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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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'] . '!';    
    }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Lassen Sie uns etwas komplizierteres sehen als dieses.

Wählen Sie ein bestimmtes Feld

aus

Wenn 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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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 Methode

orderBy () 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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren

mit

Die Methode

hat () 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');
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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"  
    }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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'] . '!';    
    }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Sie erhalten die folgende Ausgabe:

$fpdo->from('items')->where('price >', 1000);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren

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

Bei

fluentpdo 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');
Nach dem Login kopieren
Nach dem Login kopieren
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');
Nach dem Login kopieren

update

Aktualisierungsmethode ist sehr ähnlich. Schauen wir uns ein Beispiel an.

$query = $fpdo->from('items')->having('price <', 2000);
Nach dem Login kopieren

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');
Nach dem Login kopieren

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" }
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Großartig, oder? Ok, schnell ist wirklich cool ... aber was ist mit Smart?

schauen Sie hier:

"require": {
        ...
        "lichtner/fluentpdo": "dev-master"  
    }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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'] . '!';    
    }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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"  
    }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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'] . '!';    
    }
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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);
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

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!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1652
14
PHP-Tutorial
1251
29
C#-Tutorial
1224
24
Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

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.

Was sind Aufzählungen (Enums) in PHP 8.1? Was sind Aufzählungen (Enums) in PHP 8.1? Apr 03, 2025 am 12:05 AM

Die Aufzählungsfunktion in Php8.1 verbessert die Klarheit und Type des Codes, indem benannte Konstanten definiert werden. 1) Aufzählungen können Ganzzahlen, Zeichenfolgen oder Objekte sein, die die Lesbarkeit der Code und die Type der Type verbessern. 2) Die Aufzählung basiert auf der Klasse und unterstützt objektorientierte Merkmale wie Traversal und Reflexion. 3) Die Aufzählung kann zum Vergleich und zur Zuordnung verwendet werden, um die Sicherheit der Typ zu gewährleisten. 4) Aufzählung unterstützt das Hinzufügen von Methoden zur Implementierung einer komplexen Logik. 5) Strenge Typ Überprüfung und Fehlerbehandlung können häufig auftretende Fehler vermeiden. 6) Die Aufzählung verringert den magischen Wert und verbessert die Wartbarkeit, achten Sie jedoch auf die Leistungsoptimierung.

Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Apr 03, 2025 am 12:04 AM

Die Anwendung des soliden Prinzips in der PHP -Entwicklung umfasst: 1. Prinzip der Einzelverantwortung (SRP): Jede Klasse ist nur für eine Funktion verantwortlich. 2. Open and Close Principle (OCP): Änderungen werden eher durch Erweiterung als durch Modifikation erreicht. 3.. Lischs Substitutionsprinzip (LSP): Unterklassen können Basisklassen ersetzen, ohne die Programmgenauigkeit zu beeinträchtigen. 4. Schnittstellen-Isolationsprinzip (ISP): Verwenden Sie feinkörnige Schnittstellen, um Abhängigkeiten und nicht verwendete Methoden zu vermeiden. 5. Abhängigkeitsinversionsprinzip (DIP): Hoch- und niedrige Module beruhen auf der Abstraktion und werden durch Abhängigkeitsinjektion implementiert.

Wie funktioniert die Session -Entführung und wie können Sie es in PHP mildern? Wie funktioniert die Session -Entführung und wie können Sie es in PHP mildern? Apr 06, 2025 am 12:02 AM

Die Hijacking der Sitzung kann in den folgenden Schritten erreicht werden: 1. Erhalten Sie die Sitzungs -ID, 2. Verwenden Sie die Sitzungs -ID, 3. Halten Sie die Sitzung aktiv. Zu den Methoden zur Verhinderung der Sitzung der Sitzung in PHP gehören: 1. Verwenden Sie die Funktion Session_regenerate_id (), um die Sitzungs -ID zu regenerieren. 2. Store -Sitzungsdaten über die Datenbank, 3. Stellen Sie sicher, dass alle Sitzungsdaten über HTTPS übertragen werden.

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

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 REST -API -Designprinzipien? Was sind REST -API -Designprinzipien? Apr 04, 2025 am 12:01 AM

Die RESTAPI -Designprinzipien umfassen Ressourcendefinition, URI -Design, HTTP -Methodenverbrauch, Statuscode -Nutzung, Versionskontrolle und Hassoas. 1. Ressourcen sollten durch Substantive dargestellt und in einer Hierarchie aufrechterhalten werden. 2. HTTP -Methoden sollten ihrer Semantik entsprechen, z. B. Get wird verwendet, um Ressourcen zu erhalten. 3. Der Statuscode sollte korrekt verwendet werden, z. B. 404 bedeutet, dass die Ressource nicht vorhanden ist. 4. Die Versionskontrolle kann über URI oder Header implementiert werden. 5. Hateoas startet Client -Operationen durch Links als Antwort.

Wie können Sie mit Ausnahmen in PHP effektiv umgehen (versuchen Sie, schließlich zu werfen)? Wie können Sie mit Ausnahmen in PHP effektiv umgehen (versuchen Sie, schließlich zu werfen)? Apr 05, 2025 am 12:03 AM

In PHP wird das Ausnahmebehandlung durch den Versuch, Fang, schließlich und werfen Keywords erreicht. 1) Der Try -Block umgibt den Code, der Ausnahmen auslösen kann. 2) Der Catch -Block behandelt Ausnahmen; 3) Block stellt schließlich sicher, dass der Code immer ausgeführt wird. 4) Wurf wird verwendet, um Ausnahmen manuell zu werfen. Diese Mechanismen verbessern die Robustheit und Wartbarkeit Ihres Codes.

Was sind anonyme Klassen in PHP und wann könnten Sie sie verwenden? Was sind anonyme Klassen in PHP und wann könnten Sie sie verwenden? Apr 04, 2025 am 12:02 AM

Die Hauptfunktion anonymer Klassen in PHP besteht darin, einmalige Objekte zu erstellen. 1. Anonyme Klassen ermöglichen es, Klassen ohne Namen direkt im Code zu definieren, was für vorübergehende Anforderungen geeignet ist. 2. Sie können Klassen erben oder Schnittstellen implementieren, um die Flexibilität zu erhöhen. 3. Achten Sie bei der Verwendung auf Leistung und Code -Lesbarkeit und vermeiden Sie es, dieselben anonymen Klassen wiederholt zu definieren.

See all articles