Подскажите, как исправить Unsafe SQL calls
-
Подскажите, как правильно делать дезинфекцию в моём случае?
Есть код:$sql = call_user_func_array(
[ $wpdb, 'prepare' ],
array_merge(
array(
"
SELECT %i, %i
FROM %i
WHEREoption_name
IN ( " . join( ', ', array_fill( 0, count( $whereItems ), '%s' ) ) . " )
"
),
array_merge([$selectItem1, $selectItem2, $table], $whereItems)
)
);
$results = $wpdb->get_results( $sql, 'ARRAY_A' );Модератору упорно не нравится, что я использую IN ( » . join( ‘, ‘, array_fill( 0, count( $whereItems ), ‘%s’ ) ) . » ) но как тут иначе сделать, если у меня в запросе после IN может быть от 1 до 100 элементов! Гугл только такие варианты предлагает, а модератор упёрся и говорит:
The SQL query needs to be included in a wpdb::prepare($query, $args) function. Remember that you will need to include placeholders for each variable within thequery and include their calls in the second parameter of wpdb::prepare().
- Для ответа на тему необходимо авторизоваться.