ПРЕДУПРЕЖДЕНИЕ PHPCS: неправильное количество замен в $ WPDB-> PREPARE () с динамикой в ​​пунктеPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 ПРЕДУПРЕЖДЕНИЕ PHPCS: неправильное количество замен в $ WPDB-> PREPARE () с динамикой в ​​пункте

Сообщение Anonymous »

Я работаю над плагином WordPress и продолжаю получать предупреждение PHPCS, которое я не могу решить. Предупреждение: < /p>
WARNING WordPress.DB.PreparedSQLPlaceholders.ReplacementsWrongNumber
Incorrect number of replacements passed to $wpdb->prepare(). Found 3 replacement parameters, expected 2.
< /code>
Вот мой фрагмент кода: < /p>
// Check for image URL or filename in postmeta
if ($attachment_url) {
$attachment_basename = basename($attachment_url);

// Prepare the status placeholders
$placeholders = implode(',', array_fill(0, count($statuses), '%s'));

$meta_url_usage = $wpdb->get_var(
$wpdb->prepare(
"SELECT COUNT(*)
FROM $wpdb->postmeta pm
JOIN $wpdb->posts p ON p.ID = pm.post_id
WHERE (pm.meta_value LIKE %s OR pm.meta_value LIKE %s)
AND p.post_status IN ($placeholders)",
'%' . $wpdb->esc_like($attachment_url) . '%',
'%' . $wpdb->esc_like($attachment_basename) . '%',
...$statuses
)
);

if ($meta_url_usage > 0) {
return true;
}
< /code>
Что я попробовал: < /p>

Утвердил, что статусы $-это непусты /> < /ol>
Проблема заключается в том, что PHPCS думает, что у меня должно быть только 2 замены (для подобных положений). Но мне нужно передать значения статуса для пункта в IN. Оператор спреда (... $ status) добавляет дополнительные параметры. Как правильный способ справиться с динамикой в ​​предложениях с $ wpdb-> Prepare ()? Или я должен подавить предупреждение? Любое понимание будет высоко ценится!

Подробнее здесь: https://stackoverflow.com/questions/796 ... th-dynamic
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»