-1

私は、これを動的に行う方法が確実にあることを知っているこの部分にこだわっていますが、方法がわかりません。

検索クエリを受け取り、検索クエリに含まれる配列の数を知っている場合、SQL 文字列を動的に作成するにはどうすればよいですか?

以下は、示されているコードの一部です。どんな助けでも大歓迎です、ありがとう!=)

if ($arraycount ==2){
    $searchSQL = $db->query("SELECT * FROM table WHERE field1 IN (SELECT field2 FROM $table WHERE field3 IN ('$array[0]','$array[1]'));");
}
else if ($arraycount ==3){
    $searchSQL = $db->query("SELECT * FROM table WHERE field1 IN (SELECT field2 FROM $table WHERE field3 IN ('$array[0]','$array[1]','$array[2]'));");
}
4

2 に答える 2

0

すべて@petermの功績ですが、追加のセキュリティ対策が必要です(MySQLを使用している場合)

... implode("','", array_map("mysql_real_escape_string", $array))
于 2013-06-04T03:04:44.657 に答える