データベース管理システムでは、配列から単一のテーブルに複数の要素を挿入する必要がある状況が発生します。 。このようなクエリを効率的に実行するために、この記事では PDO プリペアド ステートメントを使用するアプローチをガイドし、ソリューションを提供します。
まず、複数のクエリに対応する動的 SQL クエリを作成します。パラメータのプレースホルダ。ループを使用して、配列要素を反復処理し、要素ごとにパラメーター プレースホルダーのセットを 1 つ作成することでクエリを構築します。
次に、PDO::prepare() を使用してプリペアド ステートメントを初期化し、構築された SQL を渡します。引数としてクエリを使用します。最後に、PDOStatement::execute() を使用して準備されたステートメントを実行し、前のステップで収集したすべてのパラメーター値を含む配列を渡します。
以下のコード実装を見てみましょう。 :
<code class="php">$sql = 'INSERT INTO table (memberID, programID) VALUES '; $insertQuery = array(); $insertData = array(); foreach ($data as $row) { $insertQuery[] = '(?, ?)'; $insertData[] = $memberid; $insertData[] = $row; } if (!empty($insertQuery)) { $sql .= implode(', ', $insertQuery); $stmt = $db->prepare($sql); $stmt->execute($insertData); }</code>
このアプローチを使用すると、単一の挿入ステートメントとして配列から要素を効率的に挿入でき、複数の個別のクエリの必要性を回避できます。この方法は、準備されたステートメントが SQL インジェクション攻撃から保護されるため、より効率的であるだけでなく、より安全でもあります。
以上がPDO と準備されたステートメントを使用して配列要素を MySQL に一括挿入する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。