ホームページ > データベース > mysql チュートリアル > PDO を使用して ID の配列を MySQL IN ステートメントに適切にバインドする方法

PDO を使用して ID の配列を MySQL IN ステートメントに適切にバインドする方法

Barbara Streisand
リリース: 2024-12-10 08:41:10
オリジナル
372 人が閲覧しました

How to Properly Bind an Array of IDs to a MySQL IN Statement Using PDO?

MySQL IN ステートメントの PDO バインディング値

この質問は、MySQL IN ステートメントで使用するために ID の配列を PDO ステートメントにバインドする方法について説明します。 。この問題は、配列内のカンマ区切りの値が個々の値ではなく単一の文字列として扱われる場合に発生します。

解決策:

推奨される解決策は、 WHERE 句の find_in_set 関数。ただし、他のオプションも利用できます。

オプション 1: Find_in_set

select users.id
from users
join products
on products.user_id = users.id
where find_in_set(cast(products.id as char), :products)
ログイン後にコピー

この方法は、パフォーマンスに影響を与える可能性があるため、比較的小さなデータ セットに適しています。大規模なデータベース。

オプション 2: ユーザー定義Function

カンマ区切りの値のリストを分割するユーザー定義関数を作成できます。これは、大規模なデータ セットに対するよりスケーラブルなソリューションです。このような関数の作成に関するリソースは、提供されたリンクにあります:

http://www.slickdev.com/2008/09/15/mysql-query-real-values-from-delimiter- Separated- string-ids/

最終的に、ソリューションの選択は、処理されるデータセットのサイズと複雑さによって決まります。

以上がPDO を使用して ID の配列を MySQL IN ステートメントに適切にバインドする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート