2014-04-08 38 views
1

問題解決!MySQL Query在服務器上工作,但不在PHP中

mysql_set_charset('utf8',$conn); 

下面的mysql查詢工作正常,如果我直接在服務器上運行。如果我嘗試通過PHP運行這個我沒有錯誤也沒有結果...任何建議?

查詢

Select Distinct 
    users.last_name, 
    accounts.name, 
    Max(Distinct tasks.date_entered) as credate, 
    accounts_cstm.kategorie_c, 
    accounts_cstm.geschaeftsfeld_c as Geschäftsfeld, 
    Count(tasks_cstm.betreff_c), 
    tasks_cstm.nz_c, 
    tasks_cstm.betreff_c 
From 
    tasks Left Join users On tasks.created_by = users.id 
    Inner Join accounts On tasks.parent_id = accounts.id 
    Left Join tasks_cstm On tasks.id = tasks_cstm.id_c 
    Inner Join accounts_cstm On accounts.id = accounts_cstm.id_c 
Where tasks_cstm.betreff_c In ('Call', 'Angebot', 'Mail') 
    And tasks.deleted = 0 
Group By 
    accounts.name, tasks_cstm.betreff_c 
Having 
    (tasks_cstm.betreff_c = 'Call') Or 
    (tasks_cstm.betreff_c = 'Angebot') Or 
    (tasks_cstm.betreff_c = 'Mail') 
Order By 
    credate Desc; 

PHP代碼

$conn = mysql_connect($dbserver, $dbuser, $dbpw); 
if (!$conn || !mysql_select_db('sugar', $conn)) { 
    echo "con error"; } 
else { 
    $query = "[query from above]"; 
$push = mysql_query($query); 
if (!$push) { 
     echo "query error"; } 
    else { 
     echo "query ok"; 
     mysql_free_result($push); } 
mysql_close($conn); } 

任何簡單的查詢工作正常...

感謝

+6

使用mysql_error()來查看怎麼回事! –

+1

你能展示你如何在你的代碼中包含該查詢嗎?我的猜測是你在那裏犯了一個錯誤。如串聯字符串時缺少空格。 – Eelke

+1

不要使用'mysql_ *'函數來編寫新代碼。他們正在被棄用,並將從未來版本的PHP中刪除。改爲使用'mysqli_ *'或PDO對象。 –

回答

0

問題解決了。

錯過了 「作爲Geschäftsfeld」 ......

mysql_set_charset('utf8',$conn); 
0

你可以使用

$row = mysql_fetch_assoc($query); 
print_r($row); 
相關問題