2017-05-23 14 views
-3

私は重大な問題を解決するのに時間がかかり過ぎてしまいました。私はそれが小さなことかもしれないことは知っていますが、私は単純な選択クエリを作成するためにあまりにも多くの時間を費やしました。私が見て、間違っていることを教えてくれるコードはここにあります。

global $wpdb; 
    $querystr = " 
    SELECT $wpdb->posts.ID 
    FROM $wpdb->posts 
    WHERE $wpdb->posts.post_type = 'product' 
    AND $wpdb->posts.post_title = $tour_name 
"; 

$productids = $wpdb->get_results($querystr, OBJECT); 

foreach ($productids as $productid) { 
echo $productid; 
} 
+1

あなたの質問は、「間違っている」何の任意の適切な説明が意味...ので、私はそれはおそらく行方不明であることだけを推測することができます欠けていますツアー名の周りの引用符。 (そして、その価値がどこから来るかによって、SQLインジェクションに対する保護も見逃される可能性があります。) – CBroe

+0

あなたは "何がうまくいかない"と言い、それを修正する方法を教えようとします。 ;-) –

+0

実際に何をしようとしているのか、何が起こっているのか、何を起こそうとしているのかを説明する必要があります。それ以外の場合は、ここであなたの問題を解決するのに役立つ誰もがチャンスを得ることはありません。 –

答えて

0

使用WP_Queryクラスは、データベースからデータを取得するために、ほとんどの時間は、それが準備されたステートメントを使用して、データを適切にエスケープすることを言及しないように、手動で完全なクエリを記述するよりも便利です。 ID-Sのみ使用wp_list_pluckをフェッチするために

$query = new WP_Query([ 
    'post_type' => 'product', 
    'title' => $tour_name 
]); 

$post_ids = wp_list_pluck($query->posts, 'ID'); 
関連する問題