0

次の問題に対する効果的な解決策が必要です。適切に説明するには時間がかかりすぎる何らかの理由で、このように見える PDO 準備ステートメントが必要です。

'SELECT field, another field, blabla FROM table WHERE some_foreign_id = first_val AND the_same_foreign_id = second_val AND again_the_same_id = third val ......' 

また、未知のサイズの配列で値を埋めたいと考えています。これは、その外部テーブル内のフィールドの数が、さらに別のテーブル内の特定のカテゴリに適合するかどうかによって異なります。したがって、質問は次のとおりです。それは可能ですか、それともあきらめて、単純な回避策を見つける必要がありますか?

前もって感謝します!マック

4

2 に答える 2

0

値の配列をstmt->execute($ array);に渡すことができます。唯一注意が必要なのは、疑問符の数を入力することです。

    $foreign_ids = array(foreign_id_1, foreign_id_2, foreign_id_3); //etc
    $input_list = substr(str_repeat(',?', count($foreign_ids)), 1);  //this gets you the correct number of ? to use for your query
    // if you need add another value to the parameters you can use array_push($foreign_ids,$your_other_param);


    $stmt= $dbh->prepare("
        SELECT field, another_field
        WHERE some_foreign_id = ($input_list)");
    $stmt->execute($foreign_ids);
于 2012-09-24T22:06:03.780 に答える
-1

それは可能であるべきです。パラメータにクエスチョン マークを付けてクエリを動的に生成し、実行時に配列にバインドする必要があります。

PHP ドキュメントのPDO::executeページの例 3を参照してください。

于 2012-09-24T21:25:15.933 に答える