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

时间:2013-06-08 22:36:12

标签: 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));

谢谢!

1 个答案:

答案 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听起来像是一个整数。