目次
キーポイント
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)

PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか? PHPでの安全なパスワードハッシュ(例:Password_hash、password_verify)を説明します。 MD5またはSHA1を使用してみませんか? Apr 17, 2025 am 12:06 AM

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

アクション中のPHP:実際の例とアプリケーション アクション中のPHP:実際の例とアプリケーション Apr 14, 2025 am 12:19 AM

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか? スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか? Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPの永続的な関連性:それはまだ生きていますか? PHPの永続的な関連性:それはまだ生きていますか? Apr 14, 2025 am 12:12 AM

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO) PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO) Apr 15, 2025 am 12:15 AM

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPおよびPython:コードの例と比較 PHPおよびPython:コードの例と比較 Apr 15, 2025 am 12:07 AM

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

See all articles