2010-12-07 66 views
0

DOH!它现在已经得到解决:MySQL在哪里发布

人为错误:帮助,如果我通过数据迭代因为每个人都有以下建议......在结果下面的代码添加到循环...

while ($rowprevprev = mysql_fetch_assoc($resultprevprev)) { 
      print_r($rowprevprev); 
     } 

[挂起头耻辱....适当地尴尬...]

干杯大家!

H.

嗨,

有一个简单的一段代码(感谢到一个较早的帖子):

SELECT 
    AVG (q1) AS q1, AVG (q2) AS q2, AVG (q3) AS q3, AVG (q4) AS q4, 
    AVG (q5) AS q5, AVG (q6) AS q6, AVG (q7) AS q7, AVG (q8) AS q8, 
    AVG (q9) AS q9, AVG (q10) AS q10, AVG (q11) AS q11, AVG (q12) AS q12, 
    AVG (q13) AS q13, AVG (q14) AS q14, AVG (q15) AS q15, AVG (q16) AS q16, 
    AVG (q17) AS q17, AVG (q18) AS q18, AVG (q19) AS q19, AVG (q20) AS q20, 
    AVG (q21) AS q21, AVG (q22) AS q22 
FROM thotels_results 
WHERE brand IN ('XYZ','ABC','EFG') 
AND date = 'NOV2010' GROUP BY brand; 

使用查询浏览器的输出是:

q1  q2  q3  q4  q5  q6  q7  q8  q9  q10  q11  q12  q13  q14  q15  q16  q17  q18  q19  q20  q21  q22 
8.1724 8.2414 8.2414 7.8966 8.5862 8.5517 9.0000 8.5862 8.1724 7.9655 8.8966 8.6207 8.2414 8.3793 7.8276 8.3793 7.9310 8.4138 8.6897 8.3448 8.8621 8.5172 
8.7714 8.8429 8.1643 8.7500 8.7571 8.9000 9.4071 9.1214 8.5714 8.7643 9.5143 8.9429 9.1643 8.9857 7.9500 8.9286 8.7000 9.0429 9.0143 8.7214 9.1214 9.3071 
8.6009 8.5686 7.8528 8.3133 8.3423 8.6410 9.0301 8.6912 8.3233 8.3389 9.2029 8.3969 8.6856 8.5017 7.8071 8.4816 8.3512 8.6789 8.6789 8.3913 8.6388 8.8986 

当我VAR_DUMP,但是,我得到下面,似乎不是所有的数据有:

array 
    0 => string '8.1724' (length=6) 
    'q1' => string '8.1724' (length=6) 
    1 => string '8.2414' (length=6) 
    'q2' => string '8.2414' (length=6) 
    2 => string '8.2414' (length=6) 
    'q3' => string '8.2414' (length=6) 
    3 => string '7.8966' (length=6) 
    'q4' => string '7.8966' (length=6) 
    4 => string '8.5862' (length=6) 
    'q5' => string '8.5862' (length=6) 
    5 => string '8.5517' (length=6) 
    'q6' => string '8.5517' (length=6) 
    6 => string '9.0000' (length=6) 
    'q7' => string '9.0000' (length=6) 
    7 => string '8.5862' (length=6) 
    'q8' => string '8.5862' (length=6) 
    8 => string '8.1724' (length=6) 
    'q9' => string '8.1724' (length=6) 
    9 => string '7.9655' (length=6) 
    'q10' => string '7.9655' (length=6) 
    10 => string '8.8966' (length=6) 
    'q11' => string '8.8966' (length=6) 
    11 => string '8.6207' (length=6) 
    'q12' => string '8.6207' (length=6) 
    12 => string '8.2414' (length=6) 
    'q13' => string '8.2414' (length=6) 
    13 => string '8.3793' (length=6) 
    'q14' => string '8.3793' (length=6) 
    14 => string '7.8276' (length=6) 
    'q15' => string '7.8276' (length=6) 
    15 => string '8.3793' (length=6) 
    'q16' => string '8.3793' (length=6) 
    16 => string '7.9310' (length=6) 
    'q17' => string '7.9310' (length=6) 
    17 => string '8.4138' (length=6) 
    'q18' => string '8.4138' (length=6) 
    18 => string '8.6897' (length=6) 
    'q19' => string '8.6897' (length=6) 
    19 => string '8.3448' (length=6) 
    'q20' => string '8.3448' (length=6) 
    20 => string '8.8621' (length=6) 
    'q21' => string '8.8621' (length=6) 
    21 => string '8.5172' (length=6) 
    'q22' => string '8.5172' (length=6) 

的var_dump似乎只带回查询的第一行,而不是所有三行。我需要访问所有三行数据,以便我可以执行计算。

任何有任何想法和/或建议的人?

谢谢,

荷马。

+0

你通过PHP这样做呢?如果是这样,你能显示你正在使用的代码吗?这听起来好像你只是用fetch_assoc来抓取一行,在这种情况下,VAR_DUMP将只显示一行。 – Mike 2010-12-07 08:33:55

+0

也许你不检索所有的行。检查你是否不做类似mysql_fetch_row()(它只检索一行)。 `VAR_DUMP似乎只能带回` - var_dump不会带回任何东西 – cristian 2010-12-07 08:35:26

+0

谢谢大家.... – 2010-12-07 08:46:52

回答

1

这不是var_dump,这是问题所在,它是您用来从MySQL获取数据的代码。请参阅昨天的this question - 我认为你犯的是同样的错误。

1

好,如果你使用PHP,

$query = mysql_query("do your select query here"); 

while ($row = mysql_fetch_assoc($query)) { 
    var_dump($row); 
}