私はうまく動作していないwordpressの選択クエリに苦労しています。変な部分は、現在実行中のWebサイトで2つの選択クエリが1つあり、動作することです。ローカルテストマシンではほぼ同じ選択クエリが動作していません。ここでワードプレス選択クエリが機能しない
が働いているライブからの問合せ、次のとおりです。
SELECT DISTINCT users.*
FROM wp_users as users
INNER JOIN wp_usermeta as mt
ON (users.ID = mt.user_id)
WHERE 1=1
AND (mt.meta_value LIKE '%Trainer%')
AND (mt.meta_key = '_upme_search_cache' AND mt.meta_value LIKE '%ACTIVE%')
AND ( (mt.meta_key = '_upme_search_cache' AND mt.meta_value NOT LIKE '%administrator%')
AND (mt.meta_key = '_upme_search_cache' AND mt.meta_value NOT LIKE '%sportentrainer%'))
ORDER BY users.user_registered asc LIMIT 9
そして、ここにローカルマシンからの問合せ:検索するときに
SELECT DISTINCT users.*
FROM wp_users as users
INNER JOIN wp_usermeta as mt
ON (users.ID = mt.user_id)
WHERE 1=1
AND (mt.meta_value LIKE '%trainer%')
AND (mt.meta_key = 'sent_activation_status' AND mt.meta_value LIKE '%ACTIVE%')
AND ( (mt.meta_key = 'account_type' AND mt.meta_value NOT LIKE '%administrator%')
OR (mt.meta_key = 'account_type' AND mt.meta_value NOT LIKE '%sportentrainer%'))
ORDER BY users.user_registered asc LIMIT 9
meta_key 2番目のクエリでは、すべての検出されました彼らのために別々に。あなたはmeta_keysが異なっていることに気付きましたが、それは問題ではありません。
最初のクエリはphpmyadmin:4.1.9とmysql:5.0.12(正しい場合)のライブバージョンで実行され、2番目のクエリはphpmyadmin:4.6.6とmysql:5.6のローカルバージョンで実行されます。 35
誰かが2番目のクエリが機能しない理由を確認できますか?
_not working_は、クエリが結果を返さないことを意味しますか?もしそうなら、おそらく最良のことは、クエリを単純化することによってデバッグすることです。 1つの 'AND' /' OR'条件で開始し、クエリを実行し、その時点までデータを取得したかどうかを確認し、条件を追加し、結果を再度確認し、切断を見つけるまで続行します。たぶんあなたの期待に合ったテーブルの中に何もありませんか?もし存在するならば、おそらく条件は正確に定式化されていないでしょうか? MySQLのバージョンでは、このクエリと実際には違いはありません。 –
作業していないと、0の結果が返されます。私は1つだけを使用し、結果を返します。したがって、最初のクエリでは結果が返されますが、meta_keysを変更するだけで結果は0になりますが、phpmyadminでmeta_keysと特定の値を検索すると結果も返されます。したがって、meta_keysはそこにあります。 – udarts