我有一个完美的工作WordPress的WPDB 3.5之前准备的语句。 这是我的路线:
$post_id = $wpdb->get_var($wpdb->prepare( "SELECT a.post_id
FROM $metatable AS a
JOIN $metatable AS b ON a.post_id = b.post_id
WHERE a.meta_value = '$valuex1' AND b.meta_value = '$valuex2'"));
现在,在WordPress 3.5,这将返回一个警告,因为这是不完全消毒。 我已经修改了这个使用占位符由WordPress的建议:
$post_id = $wpdb->get_var($wpdb->prepare("SELECT a.post_id FROM $metatable AS a JOIN $metatable AS b ON a.post_id = b.post_id WHERE a.meta_value =%d AND b.meta_value =%s",$valuex1,$valuex2));
但是,现在不从数据库中检索正确的信息。 是不是有什么毛病我修改后的查询? 如何改变它,这样它会再次合作?
谢谢你的帮助。