2013-08-24 89 views
0

我一直在這裏呆了一天,我希望有一組不同的眼睛可以告訴我我要出錯的地方。PHP MySQL - 查詢中的字符串var不返回結果

我們正在使用MySQL存檔呼叫中心的日常報告,並且我有一個頁面讓人們可以根據主管和日期來搜索他們。當他們執行搜索時,兩個不可見文本框會檢索搜索條件,當它們點擊「導出」時,這些值將被傳遞到運行PHPEXCEL的導出頁面以打印結果。

它工作正常,但我們最近將它拼湊到一個PHPBB頁面,出於某種原因,它無法正確讀取管理員名稱字符串。因此,搜索頁面工作正常,以下所有代碼/信息都與「導出」頁面相關。

echo $supervisorName; #returns John Smith 

相呼應的是,出口頁面上打破了Excel文件PHPExcel吐出來,這是有道理的,但它確實表明變量被保存和正確。

$sql = "Select 
newTeam, First, Last, `Calls Handled`, `Avg AHT`, ... 
From 
phpbb_reportarchive inner join employees on phpbb_reportachive.phonenum = employees.phonenum 
where 
employees.newteam = '{$supervisorName}' and phpbb_reportarchive.Date = '{$incidentDate}' 
order by last"; 

當我在字符串中包含的上司的名字,不過,PHPExcel吐出了一個空的結果 - 沒有粘貼行。但是,如果我刪除變量$ supervisorName並將其替換爲'John Smith',它將返回預期結果,並且PHPExcel會給我我想要的結果。

我很感激任何幫助。如果我能提供更多信息來澄清我的任何事情。有沒有人看到我可能做錯了什麼?

+0

爲什麼$ supervisorName在大括號中? – Reflic

+0

您是否在分配'$ sql'之前將'echo $ supervisorName'直接打印了正確的值? 'echo $ sql'並確保生成正確的查詢。 – ChicagoRedSox

+0

Reflix - 我的理解是大括號是可選的 - 我嘗試刪除它們,但沒有做出改變。芝加哥 - 它看起來像是在主管名字前插入一個換行符,不知道爲什麼 - 但是感謝這個偉大的建議,沒有想過echo sql。我將嘗試分離出來 – Acantud

回答

0

由於某種原因,$ supervisorName被拖動了一堆尾隨的空格和換行符。我用修剪來清理它,它的工作完美。謝謝你們,我會一整天都在。