WordPress $ wpdb-> get_row()查询将无法使用变量,但使用硬编码

All*_*ich 3 wordpress wpdb

我的代码是正确的(我已经编程了13年),但出于某种原因,当我在WHERE子句中的SELECT查询中使用变量时,我得不到任何结果.如果我对它进行硬编码,它就可以了.怎么会这样?吹我的脑海......

$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));
Run Code Online (Sandbox Code Playgroud)

谢谢!

The*_*pha 5

我认为应该(%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));
Run Code Online (Sandbox Code Playgroud)

%s对于字符串和%d数字和变量$o_id听起来像一个整数给我.