2016-03-03 62 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