亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

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);

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.

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);

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

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);

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 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);

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.

// 選擇前十個結(jié)果...
    $query = $fpdo->from('users')->where('id', $user_id)->limit(10)->offset(0);

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');

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:

// 選擇前十個結(jié)果...
    $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

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');
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!

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

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

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.

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

PHP-Tutorial
1488
72
Variabler PHP -Bereich erkl?rt Variabler PHP -Bereich erkl?rt Jul 17, 2025 am 04:16 AM

H?ufige Probleme und L?sungen für den variablen PHP -Umfang umfassen: 1. Die globale Variable kann innerhalb der Funktion nicht zugegriffen werden, und sie muss bei der Verwendung des globalen Schlüsselworts oder Parameters übergeben werden. 2. Die statische Variable wird statisch deklariert und nur einmal initialisiert und der Wert wird zwischen mehreren Aufrufen beibehalten. 3.. Hyperglobale Variablen wie $ _get und $ _post k?nnen direkt in jedem Bereich verwendet werden, aber Sie müssen auf eine sichere Filterung achten. 4. Die anonymen Funktionen müssen über das Schlüsselwort verwenden, und wenn Sie externe Variablen ?ndern, müssen Sie eine Referenz übergeben. Das Beherrschen dieser Regeln kann dazu beitragen, Fehler zu vermeiden und die Code -Stabilit?t zu verbessern.

Wie behandle ich Datei -Uploads sicher in PHP? Wie behandle ich Datei -Uploads sicher in PHP? Jul 08, 2025 am 02:37 AM

Um PHP -Datei -Uploads sicher zu verarbeiten, müssen Sie die Quelle und die Type und die Eingabe des Dateinamens und des Pfades überprüfen, Serverbeschr?nkungen festlegen und Mediendateien zweimal verarbeiten. 1. überprüfen Sie die Upload -Quelle, um CSRF durch Token zu verhindern, und erkennen Sie den realen MIME -Typ über die Finfo_file mithilfe der Whitelist -Steuerung. 2. Benennen Sie die Datei in eine zuf?llige Zeichenfolge um und bestimmen Sie die Erweiterung, um sie gem?? dem Erkennungstyp in einem Verzeichnis ohne Web zu speichern. 3. Die PHP -Konfiguration begrenzt die Hochladengr??e und das tempor?re Verzeichnis Nginx/Apache verbietet den Zugriff auf das Upload -Verzeichnis. 4. Die GD -Bibliothek stellt die Bilder neu, um potenzielle b?swillige Daten zu l?schen.

Code in PHP aus dem Code ausgehen Code in PHP aus dem Code ausgehen Jul 18, 2025 am 04:57 AM

Es gibt drei g?ngige Methoden für den PHP -Kommentarcode: 1. Verwenden Sie // oder #, um eine Codezeile zu blockieren, und es wird empfohlen, // zu verwenden. 2. Verwenden Sie /.../, um Codebl?cke mit mehreren Zeilen zu wickeln, die nicht verschachtelt werden k?nnen, aber gekreuzt werden k?nnen. 3.. Kombinationskenntnisse Kommentare wie die Verwendung / if () {} / Um Logikbl?cke zu steuern oder um die Effizienz mit Editor -Verknüpfungsschlüssel zu verbessern, sollten Sie auf die Schlie?ung von Symbolen achten und das Verschachteln bei der Verwendung vermeiden.

Wie arbeiten Generatoren in PHP? Wie arbeiten Generatoren in PHP? Jul 11, 2025 am 03:12 AM

AgneeratorinphpiSamemory-effizientes WaytoiterateOverlargedatasetsByyieldingValueatimeinsteadofReturningThemallatonce.1.GeneratorsusetheyieldKeywordtoproduktenvaluesonDemand, ReducingMemoryUsage.2.TheyareusefulforfulforfulfordlingBiglopploups, Lesebiglochen, Leselungen, Lesebigs, Leselung, oder

Tipps zum Schreiben von PHP -Kommentaren Tipps zum Schreiben von PHP -Kommentaren Jul 18, 2025 am 04:51 AM

Der Schlüssel zum Schreiben von PHP -Kommentaren liegt in der Kl?rung des Zwecks und der Spezifikationen. Kommentare sollten "Warum" und nicht "was getan" erkl?ren, um Redundanz oder zu Einfachheit zu vermeiden. 1. Verwenden Sie ein einheitliches Format wie Docblock (/*/) für Klassen- und Methodenbeschreibungen, um die Lesbarkeit und die Kompatibilit?t der Werkzeuge zu verbessern. 2. Betonen Sie die Gründe für die Logik, z. B. warum JS -Sprünge manuell ausgeben müssen. 3. Fügen Sie eine übersichtsbeschreibung vor komplexem Code hinzu, beschreiben Sie den Prozess in Schritten und helfen Sie, die Gesamtidee zu verstehen. V. Gute Anmerkungen k?nnen die Kommunikationskosten senken und die Effizienz der Code -Wartung verbessern.

SchnellpHP -Installations -Tutorial SchnellpHP -Installations -Tutorial Jul 18, 2025 am 04:52 AM

Toinstallphpquickly, usexampponwindowsorhomebrewonmacos.1.onwindows, download undInstallxampp, SelectComponents, Startapache und PlaceFilesinhtdocscs.2.Anternativ, manuellinstallphpfrfr

So greifen Sie in einer Zeichenfolge nach Index in PHP auf ein Zeichen zu So greifen Sie in einer Zeichenfolge nach Index in PHP auf ein Zeichen zu Jul 12, 2025 am 03:15 AM

In PHP k?nnen Sie quadratische Klammern oder lockige Klammern verwenden, um Zeichenfolgenspezifikationsspezifische Indexzeichen zu erhalten, aber quadratische Klammern werden empfohlen. Der Index startet von 0 und der Zugriff au?erhalb des Bereichs gibt einen Nullwert zurück und kann keinen Wert zugewiesen; MB_SUBSTR ist erforderlich, um Multi-Byte-Zeichen zu verarbeiten. Zum Beispiel: $ str = "Hallo"; echo $ str [0]; Ausgabe H; und chinesische Zeichen wie Mb_Substr ($ str, 1,1) müssen das richtige Ergebnis erzielen. In den tats?chlichen Anwendungen sollte die L?nge der Zeichenfolge vor dem Schleifen überprüft werden, dynamische Zeichenfolgen müssen für die Gültigkeit verifiziert werden, und mehrsprachige Projekte empfehlen, Multi-Byte-Sicherheitsfunktionen einheitlich zu verwenden.

PHP lernen: Ein Anf?ngerführer PHP lernen: Ein Anf?ngerführer Jul 18, 2025 am 04:54 AM

Tolearnphpeffectival, startbysettingupalocalerverenVironmentusexs -LikexamppandacodeeditorikevScode.1) InstallxamppForapache, MySQL und Php.SeacodeeditorForsyntaxSupport.3) testyourscludingveliktingveliktelaThbiliodble.Neclyble.NektFile

See all articles