Вопрос: Я не могу понять, что не так с этим утверждением. $ wpdb-> обновление запроса

Я пытаюсь использовать метод $ wpdb-query, но не могу заставить его работать.

Я получаю ошибку 500 при попытке выполнить следующее:

$update_status = $wpdb->query($wpdb->prepare("UPDATE {$wpdb->prefix}wcpv_commissions SET commission_status = '".$status."' WHERE vendor_id = '".$vendor_id."' AND order_date BETWEEN '".$date1."' AND '".$date2."'"));

Есть ли что-то, чего мне здесь не хватает. Я не очень много использовал $ wpdb, поэтому наверняка что-то упустил.

Я ценю любую помощь здесь.

Спасибо!

Ответы и комментарии:

Посмотрите на документацию о том, как использовать подготовить правильно. Если вы включите отладку, вы, скорее всего, увидите сообщение об ошибке.
Создан 12-12-2018 11:25 Milo

Где вы запускаете этот код? Трудно сказать, что может быть не так, когда вы показали одну строку, можете ли вы предоставить больше контекста кода? Например. это может быть связано с глобальными переменными, но не видя большего контекста, невозможно сказать. Также может случиться так, что вы пытаетесь вызвать его в отдельном файле, который загружаете напрямую, но опять же, это невозможно определить с помощью доступной информации. Кроме того, что ты пытаешься сделать? Что-то с участием комиссий
Создан 13-12-2018 12:36 Tom J Nowell♦

Кроме того, ошибка 500 - это просто серверный способ сказать, что что-то пошло не так в PHP, мы не знаем, что это было, проверьте журнал ошибок PHP на предмет реального сообщения об ошибке. Можете ли вы посмотреть журнал ошибок PHP, чтобы найти это сообщение об ошибке?
Создан 13-12-2018 12:24 Tom J Nowell♦

Без сообщения об ошибке трудно сказать точную проблему. Важно отлаживать в WordPress и проверять журналы ошибок вашего веб-сервера.
Одной из проблем является ваш вызов приготовить (). Метод принимает 2 или более аргументов, вы только передали 1. Вместо этого попробуйте следующее
$ update_status = $ wpdb-> query ($ wpdb-> prepare (
    "UPDATE {$ wpdb-> prefix} wcpv_commissions SET Commission_status =% s ГДЕ vendor_id =% d AND order_date МЕЖДУ% s И% s",
    $ Статус,
    $ VENDOR_ID,
    $ Date1,
    $ date2
));
Создан 13-12-2018 12:58