[WordPress] フィールドが配列、単一の MYSQL 結果の取得

スポンサーリンク

質問

ワードプレスのデータベースは、この 1 つにスタックしてビット

現在のユーザーの ID を取得する、次を使用しています

 $user_ID = get_current_user_id();

このようなものを返します:

 15

しようとこのフィールドにデータをフィールド show_user_list$user_ID の一致する値を検索すると今は配列に格納されます

このような何かに見える:

 a:2:{i:0;s:2:"29";i:1;s:2:"15";}

これは (条件セット) と一緒に実行しているクエリ:

global $wpdb; $result = $wpdb->get_results( "SELECT post_id FROM wp_postmeta WHERE show_user_list IN (' . implode(',', $user_ID) . ' AND post_type = 'show' AND post_status = 'publish'" );

し私はこれと一致する post_id の値をエコーしようと:

 foreach ( $result as $unique ) {
 echo $unique->post_id;
 }

がそれが何かを返していません。私は、配列を扱うときは、ミスを作ること必要がありますけど、どこで間違ったつもりを知っていないか?

答え

に保存されているシリアル化された配列 show_user_list フィールドに db クエリを使用して値を検索するハッスルになりますように見えます

一致 wp_postmeta からすべての行を選択する必要があるモデルでは、あなたが説明した、「post_type = ‘表示’ と post_status ‘発行’ =”手動でシリアライズされていない show_user_list フィールドのユーザー id を持っていない結果のフィルター処理

のような何かを試みる可能性があります:

in_array($user_ID, unserialize($row->show_user_list))

クエリ内で複数のエラーに気づいたまた、: PHP コードとかっこの閉じられていない IN 句が正しく連結文字列

に関しては、同じ

http://stackoverflow.com/questions/28131050/getting-a-single-mysql-result-where-the-field-is-an-array

スポンサーリンク

Leave a Reply