2016-03-03 106 views
0

我一直在嘗試在wordpress中編寫一個MySQL查詢,但它似乎並沒有工作。 代碼:WordPress的MySQL查詢不接受變量

foreach ($postList as $curpostid) { 
     echo "postID ".$curpostid." + "; 
     $sql2 = 'SELECT * FROM wp_mr_rating_item_entry WHERE post_id='.$curpostid; 
     $results2 = $GLOBALS['wpdb']->get_results($sql2) or die(mysql_error()); 
} 

$ postList打印爲:

Array 
(
[0] => 3148 
[1] => 3097 
[2] => 3048 
[3] => 1036 
) 

這些後IDS確實存在,並且回波顯示他們罰款。如果我爲$ curpostid輸入一個特定的值作爲查詢工作的數組條目之一。似乎查詢不接受數組的變量。 我試圖讓變量爲int(int)$ curpostid,因爲字段類型是bigint,但仍然不起作用。 任何幫助表示讚賞。

我已成功地放置在一個多維數組的輸出,但現在我不能夠把這些值在單個陣列中: 這是數組:

Array 
(
    [0] => Array 
    (
     [0] => stdClass Object 
      (
       [rating_item_entry_id] => 1 
      ) 

     [1] => stdClass Object 
      (
       [rating_item_entry_id] => 2 
      ) 

     [2] => stdClass Object 
      (
       [rating_item_entry_id] => 3 
      ) 

     [3] => stdClass Object 
      (
       [rating_item_entry_id] => 4 
      ) 

     [4] => stdClass Object 
      (
       [rating_item_entry_id] => 5 
      ) 

     [5] => stdClass Object 
      (
       [rating_item_entry_id] => 6 
      ) 

     [6] => stdClass Object 
      (
       [rating_item_entry_id] => 7 
      ) 

     [7] => stdClass Object 
      (
       [rating_item_entry_id] => 8 
      ) 

    ) 

[1] => Array 
    (
     [0] => stdClass Object 
      (
       [rating_item_entry_id] => 10 
      ) 

    ) 

[2] => Array 
    (
     [0] => stdClass Object 
      (
       [rating_item_entry_id] => 11 
      ) 

    ) 

[3] => Array 
    (
     [0] => stdClass Object 
      (
       [rating_item_entry_id] => 14 
      ) 

    ) 

) 

我怎樣才能把所有的單個數組中最終的rating_item_entry_id值? 已經嘗試使用下面的代碼,但我有點困惑,它不工作。

foreach($results2Array as $result2) { 
     foreach($result2 as $res2) { 
      echo $res2['rating_item_entry_id']; 
      $ratingentries[] = $res2['rating_item_entry_id']; 
     } 
    } 
+0

你可以添加到您的腳本中的字符串回聲 「SQL2」 $ SQL2 「\ n」;生成sql並將其輸出添加到您的問題? –

+0

它工作? echo「postID」。$ curpostid。「+」;' – devpro

+0

echo正在工作。並通過alexnder輸出所需的回聲:sql2 SELECT * FROM wp_mr_rating_item_entry WHERE post_id = 3148 sql2 SELECT * FROM wp_mr_rating_item_entry WHERE post_id = 3097 sql2 SELECT * FROM wp_mr_rating_item_entry WHERE post_id = 3048 sql2 SELECT * FROM wp_mr_rating_item_entry WHERE post_id = 1036 – buxbeatz

回答

0

試試這個:

foreach ($postList as $curpostid) { 

     $sql2 = "SELECT * FROM wp_mr_rating_item_entry WHERE post_id='".$curpostid."'"; //change here 
     $results2 = $GLOBALS['wpdb']->get_results($sql2) or die(mysql_error()); 
} 
+0

我猜這是你粗心的錯誤。 –

+0

仍然沒有工作,與您的查詢我得到單引號周圍的變量值,但沒有任何變化。 – buxbeatz

+0

在兩者中都不存在差異:post_id ='。$ curpostid;和你的.. – devpro