ここで私は%fと%dの値を1と1に置き換えるとphpmyadminパネルで動作しますが、wpdb get_results準備はできません。すべての値が正しく渡されていますが、出力としてnullが返されます。WPDBが機能しない、SQLクエリがphpmyadminで動作する
$f = $wc * (($ul + 100)/100);
$capabilities = $wpdb->prefix."capabilities";
$sql = "
SELECT u.*, up.*, up.pid, (up.ros - up.soh)/(%f) as qty_suggested
FROM $wpdb->users u
INNER JOIN wp_deals_users_products up
ON u.ID = up.user_id
INNER JOIN $wpdb->usermeta um
ON u.ID = um.user_id
WHERE up.pid = %d
AND um.meta_key = '$capabilities'
AND um.meta_value LIKE '%subscriber%'
";
//echo $sql; This echoes the sql which I tested in phpmyadmin sql query runner
$results = $wpdb->get_results(
$wpdb->prepare(
$sql,
$f,
$pid
)
);
echo json_encode($results);
私はまだヌル取得%dと%fに対する両方の値としてハードコードさ1で準備して実行するクエリを、直接または削除した場合。これは、関数を用意wpdbに入り、最終的なクエリである
:
SELECT u.*, up.*, up.pid, (up.ros - up.soh)/(%f) as qty_suggested
FROM wp_users u
INNER JOIN wp_deals_users_products up
ON u.ID = up.user_id
INNER JOIN wp_usermeta um
ON u.ID = um.user_id
WHERE up.pid = %d
AND um.meta_key = 'wp_capabilities'
AND um.meta_value LIKE '%subscriber%'
ありがとう、それは働いた...私はそれがLIKEステートメントの%になる可能性が非常に短い瞬間を疑った。私は今結果を得る。 – Waleed