我的代码是正确的(我已经编程了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));
谢谢!
答案 0 :(得分: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));
%s
表示字符串,%d
表示数字和变量$o_id
听起来像是一个整数。