目次
キーポイント
Composerを使用してFluentPDOをインストールして、依存関係として含めることができます:
基本的な選択操作
メソッドの取得
fetch
fetchpairs()を使用すると、結果を連想配列として取得できます。次の構文を使用してください:
最後になりましたが、fetchall()メソッドです。
Fluentpdoは、何かを選択することだけではありません。また、データを簡単に操作するクラスもあります。
更新方法は非常に似ています。例を見てみましょう。
削除操作が簡単です。これが簡単な例です。
前に言ったように、これらのタイプのプロジェクトには独自の機能があります。 FluentPDOも例外ではありません。これらの機能のうち2つを分析します:Join Query BuilderとDebugger。
は、おそらくFluentPDOの最も重要なユニークな機能です。ビルダーは、作業を簡素化し、コードを少なくする場合に非常に便利です。使い方を見てみましょう。
単純な閉鎖システムを使用します。デバッグを使用する場合は、コードを接続した後、このコードを配置するだけです。
FluentPDOを使用してデータベースに接続する方法は?
FluentPDOを使用して更新クエリを実行する方法は?
メソッドを使用してテーブルを指定し、
メソッドを使用して、テーブルと条件を指定できます。例は次のとおりです。

FluentPDOを始めましょう

Feb 20, 2025 pm 12:34 PM

退屈なSQLクエリに別れを告げます! FluentPDO

を使用してデータベース操作を簡素化します

SQLクエリも書くのにうんざりしていませんか?特に時間が厳しいとき。あなたが私のようであれば、今日は非常にクールなツール、Fluentpdoを学びます。 「PDO」という用語に慣れていない場合は、心配しないでください。これは非常に単純な概念です。PHPの世界では、PDOは永続的なデータオブジェクトの略であり、基本的なデータベース操作(挿入、更新、削除など)を抽象化するのに役立ちます。これは、あなたとデータベースの間の抽象化の層です。

結果は何ですか? SQLクエリを書く必要はもうありません!これは、これまでに見た最初のプロジェクトではないかもしれません。市場には多くの同様のプロジェクトがあり、それぞれに重要な機能があります。 FluentPDOの重要な機能は、強力なJoinクエリビルダーです。

キーポイント

  • FluentPDOは、SQLクエリを記述せずに基本的なデータベース操作を抽象化するPHP SQLクエリビルダーです。その重要な機能は、強力な結合クエリビルダーです。
  • FluentPDOのインストールは、追加の構成なしでComposerを通じて行われます。 PDOオブジェクトは、FluentPDOオブジェクトのコンストラクターにパラメーターとして渡すことにより、PDOオブジェクトをインスタンス化します。
  • FluentPDOは、テーブルを設定し、結果をフィルターし、比較演算子を指定する方法など、基本的な選択操作にシンプルで読みやすい構文を提供します。また、特定のフィールドの選択、制限およびオフセットパラメーターの設定、および命令によりhaving、group by、および順序を使用することもできます。
  • FluentPDOは、操作クラスの挿入、更新、削除を使用してデータ操作もサポートしています。これらの操作には、クエリを実行してデータベースを変更するには、execute()メソッドが必要です。
  • FluentPDOの高度な機能には、Join Query Builder(コードがJoinクエリを簡素化する)と組み込みデバッガーシステム(テストとチェックのクエリのための)が含まれます。
FluentPDOテストプロジェクト

最初に、それを行うにはサンプルプロジェクトが必要です。考えてみましょう...シンプルなマルチユーザーウィッシュリストはどうですか?

多くのユーザーが存在し、各ユーザーには独自のお気に入りの製品があります。各ユーザーについて、名、姓、登録日を保存します。各アイテムについて、その名前、ブランド、価格、および関連するユーザーIDを保存します。

単純なMySQLデータベースを使用します。データ構造は次のとおりです

Getting Started with FluentPDO 以下はSQLダンプ(いくつかのダミーデータを含む)です:

注:簡単に想像できるように、これは「完全な」プロジェクトではありません。 FluentPDOを試しているだけなので、ログイン、登録、アプリケーション構造などをカバーしません。
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);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

インストール

Composerを使用してFluentPDOをインストールして、依存関係として含めることができます:

あなたが完了したら、このようにインスタンス化する必要があります:
"require": {
        ...
        "lichtner/fluentpdo": "dev-master"  
    }
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
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);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

PDOコンストラクター法で接続の詳細を指定する必要があります。最初のパラメーターでは、DBNAME =セクションの後にデータベース名を入力し、ユーザー名とパスワードをそれぞれ2番目と3番目のパラメーターとして記述します。

次に、PDOオブジェクトをパラメーターとしてFluentPDOオブジェクトのコンストラクターに渡します。

それだけです、Fluentpdoは他に何も機能する必要はありません。追加の構成は必要ありません。

基本的な選択操作

すでにいくつかの仮想データがあります。 SQLクエリの「Hello World」から始めましょう。基本情報を取得するためのパラメーターとして、Where句とユーザープライマリキーIDを備えた簡単な選択。

"require": {
        ...
        "lichtner/fluentpdo": "dev-master"  
    }
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

ここで理解するのは難しいことはありません。 FluentPDOには優れた読みやすい構文があるため、私たちが何をしているのかを簡単に理解するのは簡単です。

from()メソッドは、正しいテーブルを設定するために使用されます。 where()メソッドは、同じ名前句で結果をフィルタリングするために使用されます。デフォルトでは、where()メソッドでフィールド名と値を指定するだけです。 "="は暗黙的です。もちろん、異なる比較演算子を使用することもできます。この場合、フィールド名の後にそれらを書く必要があります。

$pdo = new PDO("mysql:dbname=wishlist", "root", "password");
    $fpdo = new FluentPDO($pdo);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

結果を取得するのは非常に簡単です。それらは、使用したばかりの$ queryオブジェクトに保存されます。例に示すように、foreachループを使用してそれを反復させることができます。

この特定のケース(プライマリキーIDでアイテムを検索)では、from()メソッドでショートカットを使用することもできます。

これよりも複雑なものを見てみましょう。
$user_id = 1;

    $query = $fpdo->from('users')->where('id', $user_id);

    foreach($query as $row){
        echo 'Hello, ' . $row['first_name'] . ' ' . $row['last_name'] . '!';    
    }
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

特定のフィールドを選択

必要に応じて、()from()からselectにselect()メソッドを使用できます。 Arrayを使用して、FluentPDOに選択するフィールドに伝える必要があります。

これは例です:

制限とオフセット

$fpdo->from('items')->where('price >', 1000);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
データベースから特定の数の行のみを取得するように制限パラメーターとオフセットパラメーターを設定するのは非常に簡単です。このようなlimed()およびoffset()メソッドを使用できます。

これら2つの方法に対する唯一の引数は、必要な値を指定する整数です(limit()、それはアイテムの数です; offset()の場合、それはスキップするアイテムの数です)。

$query = fpdo->from('users', $user_id);

    // 将与...相同
    $query = $fpdo->from('users')->where('id', $user_id);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
by by by by by

を注文します

メソッドは、「持っている」、「グループ」、「注文」の指示にも提供されています。

いくつかの例でそれらを見てみましょう。

による注文

Orderby()メソッドは、特定の条件に応じて結果をソートするために使用されます。例を挙げてみましょう:価格で結果を(安価から高価まで)並べ替える方法は次のとおりです。

注文を逆にする場合(最も高価なものから最も安いものから最も安いものを取得します)、選択した列の後に「DESC」を追加するだけです。

$query = $fpdo->from('users')->select(array('first_name', 'last_name'))->where('id', $user_id);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

// 选择前十个结果...
    $query = $fpdo->from('users')->where('id', $user_id)->limit(10)->offset(0);
ログイン後にコピー
ログイン後にコピー
having()メソッドには非常に単純な構文があります。以下の例では、2,000ドル未満のすべてのアイテムをフィルタリングします。

非常にシンプルです。

$query = $fpdo->from('items')->orderBy('price');
ログイン後にコピー
ログイン後にコピー
必要な任意の比較演算子を使用できます。

グループ

GroupBy()メソッドを使用して、特定のフィールドを使用して結果を条件としてグループ化できます。ここでは、各ブランドの製品の量を表示します。

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);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

注:クラシックSQLのようなフィールドのエイリアスを指定できます。

メソッドの取得

fetch

fetch()メソッドを使用するだけです:

その名前をパラメーターとして指定することで、単一の列を取得することもできます。
"require": {
        ...
        "lichtner/fluentpdo": "dev-master"  
    }
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

fetchpairs
$pdo = new PDO("mysql:dbname=wishlist", "root", "password");
    $fpdo = new FluentPDO($pdo);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

fetchpairs()を使用すると、結果を連想配列として取得できます。次の構文を使用してください:

次の出力が得られます:
$user_id = 1;

    $query = $fpdo->from('users')->where('id', $user_id);

    foreach($query as $row){
        echo 'Hello, ' . $row['first_name'] . ' ' . $row['last_name'] . '!';    
    }
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

これは、ユーザーユニークIDと名前を使用した例です。
$fpdo->from('items')->where('price >', 1000);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

fetchall
$query = fpdo->from('users', $user_id);

    // 将与...相同
    $query = $fpdo->from('users')->where('id', $user_id);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

最後になりましたが、fetchall()メソッドです。

次のものは構文です:

fetchall()を使用すると、結果から得られるものを完全に制御できます。最初のパラメーター$インデックスはインデックスとして使用されるフィールドであり、$ selectonlyは選択するフィールドを指定するために使用されます。
$query = $fpdo->from('users')->select(array('first_name', 'last_name'))->where('id', $user_id);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

これは例です:

注:インデックスとして使用される列(この場合はID)も最終配列に含まれています。
// 选择前十个结果...
    $query = $fpdo->from('users')->where('id', $user_id)->limit(10)->offset(0);
ログイン後にコピー
ログイン後にコピー

わかりました、選択操作については十分です。他のCRUD操作を見てみましょう。

挿入、更新、削除

Fluentpdoは、何かを選択することだけではありません。また、データを簡単に操作するクラスもあります。

挿入操作から始めましょう。

挿入

insertInto()メソッドは、操作に使用するテーブルを指定するために使用されます。次に、値()メソッドを使用して必要な値を割り当てる必要があります(この場合、それらは$ values Associative Arrayに保存されます)。
$query = $fpdo->from('items')->orderBy('price');
ログイン後にコピー
ログイン後にコピー

最後のステップは、新しいレコードの主要なキーを返すexecute()メソッドです。

必要に応じてこのショートカットを使用することもできます:

update
$query = $fpdo->from('items')->orderBy('price DESC');
ログイン後にコピー

更新方法は非常に似ています。例を見てみましょう。

set()メソッドを使用して、更新操作の新​​しい値を指定できます。
$query = $fpdo->from('items')->having('price <', 2000);
ログイン後にコピー

where()メソッドを使用して、影響を受ける行をフィルタリングします。前述のように、ショートカットもあります。

削除

削除操作が簡単です。これが簡単な例です。

主要なキーを知っているレコードを削除する場合は、上記のdeletefrom()ショートカットを使用できます。
$query = $fpdo->from('items')->select('brand, COUNT(*) AS c')->groupBy('brand');
ログイン後にコピー

注:ここの例からわかるように、execute()メソッドを使用して削除クエリを実行する必要があります。これを行わないと、データベースに何も変更されません。同じことが挿入と更新にも当てはまります。これに留意してください。

高度な機能

前に言ったように、これらのタイプのプロジェクトには独自の機能があります。 FluentPDOも例外ではありません。これらの機能のうち2つを分析します:Join Query BuilderとDebugger。

クエリビルダーに参加

は、おそらくFluentPDOの最も重要なユニークな機能です。ビルダーは、作業を簡素化し、コードを少なくする場合に非常に便利です。使い方を見てみましょう。

FluentPDOを使用して書かれた「クラシック」結合クエリから始めます。

これに似ています:

OK:Special ReftJoin()メソッドでクラシック構文を使用します。悪くない。

しかし、私たちはもっとうまくやることができます。テーブル構造でコンベンションを使用する場合は、このコードを使用できます。

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);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
素晴らしいですよね?わかりました、速いは本当にクールです...しかし、スマートはどうですか?

ここを見てください:

"require": {
        ...
        "lichtner/fluentpdo": "dev-master"  
    }
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
良くなりました。

最後の例の最終ビルドクエリをここで読むことができます:

これはよく見えます。
$pdo = new PDO("mysql:dbname=wishlist", "root", "password");
    $fpdo = new FluentPDO($pdo);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
もちろん、必要に応じて、フィールドのエイリアスを作成できます。

デバッガー

FluentPDOには、クエリをテストしてチェックするために使用できる組み込みデバッガーシステムが付属しています。
$user_id = 1;

    $query = $fpdo->from('users')->where('id', $user_id);

    foreach($query as $row){
        echo 'Hello, ' . $row['first_name'] . ' ' . $row['last_name'] . '!';    
    }
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

単純な閉鎖システムを使用します。デバッグを使用する場合は、コードを接続した後、このコードを配置するだけです。

閉鎖を必要に応じてカスタマイズできます。$ basequeryオブジェクトをパラメーターとして使用することを忘れないでください。

$ BaseQueryオブジェクトは、ベースクエリクラスのインスタンスです。
$fpdo->from('items')->where('price >', 1000);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

結論

FluentPDOは小さくてシンプルなプロジェクトです。それは間違いなくすべてのプロジェクトに適合するわけではなく、特に6か月間休眠している場合は改善することができますが、小/中サイズのアプリケーションでは、ゲームに大きなフレームワークを導入したくない場合に適したオプションになる可能性があります。 。 Join Query Builderなど、その機能の一部があるため、良いトレードオフです。

FluentPDO(FAQS)

を始めることについてのFAQ

FluentPDOとは何ですか?なぜそれを使用する必要があるのですか?

FluentPDOは、PDOを使用するPHP SQLクエリビルダーです。 SQLクエリを作成するためのシンプルで使いやすいインターフェイスを提供し、開発者がデータベースと対話しやすくなります。 FluentPDOは、生のSQLクエリの作成に慣れていない、または開発プロセスをスピードアップしたい人に特に役立ちます。すべてのSQL関数をサポートし、SQL注入攻撃を防ぐ安全な方法を提供します。

fluentpdoをインストールする方法は?

FluentPDOは、Composer(PHPのDependency Manager)を使用してインストールできます。コマンドを実行してインストールできます

。このコマンドを実行した後、ComposerはFluentPDOとその依存関係をプロジェクトにダウンロードしてインストールします。

FluentPDOを使用してデータベースに接続する方法は?

FluentPDOを使用してデータベースに接続するには、FluentPDOクラスの新しいインスタンスを作成する必要があります。これを実行できます。PDOインスタンスをFluentPDOコンストラクターに渡すことができます。例は次のとおりです。

composer require envms/fluentpdo

FluentPDOを使用して選択クエリを実行する方法は?

FluentPDOは、選択したクエリを実行するための簡単なインターフェイスを提供します。

メソッドを使用してテーブルを指定し、

メソッドを使用して列を指定できます。例は次のとおりです。
$query = fpdo->from('users', $user_id);

    // 将与...相同
    $query = $fpdo->from('users')->where('id', $user_id);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

FluentPDOを使用して挿入クエリを実行する方法は?

from挿入クエリを実行するには、selectメソッドを使用してテーブルを指定し、

メソッドを使用して値を指定できます。例は次のとおりです。
$query = $fpdo->from('users')->select(array('first_name', 'last_name'))->where('id', $user_id);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
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);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

FluentPDOを使用して更新クエリを実行する方法は?

更新クエリを実行するには、メソッドを使用してテーブルを指定し、

メソッドを使用して新しい値を指定し、メソッドを使用して条件を指定できます。例は次のとおりです。update set where FluentPDOを使用して削除クエリを実行する方法は?

"require": {
        ...
        "lichtner/fluentpdo": "dev-master"  
    }
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
削除クエリを実行するには、

メソッドを使用してテーブルを指定し、

メソッドを使用して条件を指定できます。例は次のとおりです。

deleteFrom where fluentpdoのエラーを処理する方法は?

$pdo = new PDO("mysql:dbname=wishlist", "root", "password");
    $fpdo = new FluentPDO($pdo);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
エラーが発生すると、FluentPDOが例外をスローします。 Try-Catchブロックを使用して、これらの例外をキャッチし、それに応じて処理できます。例は次のとおりです。

FluentPDOでトランザクションを使用する方法は?

$user_id = 1;

    $query = $fpdo->from('users')->where('id', $user_id);

    foreach($query as $row){
        echo 'Hello, ' . $row['first_name'] . ' ' . $row['last_name'] . '!';    
    }
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
FluentPDOは、トランザクションを開始、コミット、ロールバックする方法を提供します。それぞれ

、および

メソッドを使用できます。例は次のとおりです。beginTransaction commit rollBackFluentPDOを使用してテーブルに参加する方法は?

$fpdo->from('items')->where('price >', 1000);
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
FluentPDOは、テーブルを接続するためのシンプルなインターフェイスを提供します。

メソッドを使用して、テーブルと条件を指定できます。例は次のとおりです。

以上がFluentPDOを始めましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

セッションのハイジャックはどのように機能し、どのようにPHPでそれを軽減できますか? セッションのハイジャックはどのように機能し、どのようにPHPでそれを軽減できますか? Apr 06, 2025 am 12:02 AM

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 Apr 03, 2025 am 12:04 AM

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

phpstormでCLIモードをデバッグする方法は? phpstormでCLIモードをデバッグする方法は? Apr 01, 2025 pm 02:57 PM

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。

フレームワークセキュリティ機能:脆弱性から保護します。 フレームワークセキュリティ機能:脆弱性から保護します。 Mar 28, 2025 pm 05:11 PM

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

システムの再起動後にUnixSocketの権限を自動的に設定する方法は? システムの再起動後にUnixSocketの権限を自動的に設定する方法は? Mar 31, 2025 pm 11:54 PM

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

See all articles