这让我疯狂!下面你会发现我的PHP/MySQL的代码,但我会在这里发布直接MySQL的语句:选择和PHP MySQL的问题
SELECT SUM(ot.value) AS msa
FROM orders o
LEFT JOIN orders_total ot ON ot.orders_id = o.orders_id
WHERE ot.class = 'ot_total'
AND UNIX_TIMESTAMP(o.date_purchased) >=1262332800
AND UNIX_TIMESTAMP(o.date_purchased) <=1264924800
AND o.sales_rep_id = '2'
当我执行的phpMyAdmin里面这个说法我得到ot.value其关联到“MSA”的总和。虽然,当我运行我的PHP代码时,它不会返回值。任何人都看到了问题?
// works in phpMyAdmin but not displaying during PHP execution!
$monthly_sales_amount_sql = "SELECT SUM(ot.value) AS msa
FROM orders o
LEFT JOIN orders_total ot ON ot.orders_id = o.orders_id
WHERE ot.class = 'ot_total'
AND UNIX_TIMESTAMP(o.date_purchased) >= $start_timestamp
AND UNIX_TIMESTAMP(o.date_purchased) <= $end_timestamp
AND o.sales_rep_id = '" . $sales_rep_id . "'";
$result = mysql_query($monthly_sales_amount_sql);
$row = mysql_fetch_assoc($result);
echo "MSA: " . $row['msa'] . "<BR><BR>";
你调试过'$ start_timestamp'和'$ sales_rep_id'吗?你可以通过'echo“Query:”。$ monthly_sales_amount_sql“显示已完成的完整查询作为输出。”
“;'? – 2010-05-29 20:24:10
你实际上是否有返回的行?尝试做一个$ row的var_dump,并注意防止PHP的mysql在列名上大写MSA – 2010-05-29 20:24:55
永远不要假设你的PHP查询调用成功。即使查询实际上与您的测试版本相同,但查询可能会失败的原因太多。之后总是检查'mysql_error()'。 – 2010-05-30 03:55:18