0

次のような SQL ステートメントを作成しようとしています。

SELECT * FROM `table` WHERE `attribute` LIKE %variable_1% AND `attribute` LIKE %variable_2% AND ... AND `attribute` LIKE %variable_n%

variable_1、variable_2、...、variable_n という変数が配列に格納されています。上記のステートメントを作成するために、次のように foreach ループを使用します。

$sql = 'SELECT * FROM `table` WHERE ';
$variables_array; // this array will contain all the variables mentioned above, the variables are numerically indexed
$total_variables = count($variables_array);

foreach($variables_array as $key => $value){

    $sql .= '`attribute` LIKE "%'.$value.'%" '; 
    if($key != ($total_variables - 1) ){
        $sql .= ' AND ';
    }
}

私の質問は、新しく挿入された各変数が、それらが'prepare' メソッドを使用してから、'bindValue' を使用してステートメントに挿入します。または、これに使用する必要がある他の方法がありますか?

4

0 に答える 0