這讓我瘋狂!下面你會發現我的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