Я работаю над плагином 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
< /code>
if ($ attactment_url) {
$ attachment_basename = baseName ($ attactment_url); < /p>
// 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
ПРЕДУПРЕЖДЕНИЕ PHPCS: неправильное количество замен в $ WPDB-> PREPARE () с динамикой в пункте ⇐ MySql
Форум по Mysql
1746292417
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
< /code>
if ($ attactment_url) {
$ attachment_basename = baseName ($ attactment_url); < /p>
// 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 ()? Или я должен подавить предупреждение? Любое понимание будет высоко ценится!
Подробнее здесь: [url]https://stackoverflow.com/questions/79604934/phpcs-warning-incorrect-number-of-replacements-in-wpdb-prepare-with-dynamic[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия