Запрос WordPress $wpdb->get_row() не будет работать с переменной, но работает с жестким кодом
Мой код правильный (я программирую 13 лет), но по какой-то причине, когда я использую переменную в запросе SELECT в предложении WHERE, я не получаю результата. Если я жестко закодирую это, это работает. Как это могло произойти? Удар мой ум...
$track = $wpdb->get_row($wpdb->prepare("SELECT tracking_id, order_id, outbound_tracking_number, return_tracking_numbers FROM wp_woocommerce_trackingnumbers WHERE order_id = %s", $o_id));
Спасибо!
1 ответ
Решение
Я думаю так должно быть (%s
должно быть %d
)
$track = $wpdb->get_row($wpdb->prepare("SELECT tracking_id, order_id, outbound_tracking_number, return_tracking_numbers FROM wp_woocommerce_trackingnumbers WHERE order_id = %d", $o_id));
%s
для строк и %d
для цифр и переменных $o_id
звучит как целое число для меня.