Wordpress3.5の前に完全に機能するwpdbprepareステートメントがあります。これは私の行です:
$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));
ただし、データベースから正しい情報を取得することはできなくなりました。変更したクエリに何か問題がありますか?再び機能するように変更するにはどうすればよいですか?
ご協力いただきありがとうございます。