我已經閱讀了所有回覆,我可以在發佈此問題之前處理此問題。雖然類似,但沒有解決我的特殊問題(或者我沒有認識到他們這樣做)。MySQL Zend Framework - SQLSTATE [42000]:語法錯誤或訪問衝突:1064
我有一個擴展Zend_Db_Table_Abstract的表類。在模型中,我試圖使用join()方法和基於這樣的表ID返回單個行:
$getCategoryResults = $this->select();
$getCategoryResults->setIntegrityCheck(false)
->from(array('c'=> 'categories', '*'))
->join(array('e' => 'events'),'c.events_idEvent = e.idEvent', array())
->where("e.idEvent = ?", $idEvent);
當我附和SQL對象,我得到這個:
SELECT `c`.* FROM `categories` AS `c`
INNER JOIN `events` AS `e` ON c.events_idEvent = e.idEvent
WHERE (e.idEvent = '1')
奇怪的是,如果我用這個格式,
->where("e.idEvent = $idEvent");
我的輸出是 「WHERE(e.idEvent = 1)」。該值不包含在tick中,但似乎對MySQL有效。當我運行在phpMyAdmin查詢,我得到這個:
idCategory型displayOrder描述localStartTime events_idEvent
1個人1 5K運行/步行2010-02-18 23時59分59秒1
2隊2 5K團隊分類2010-02-18 23:59:591 1
這是我期望看到的。但是當我在瀏覽器中運行我的應用程序時,出現以下錯誤:
SQLSTATE [42000]:語法錯誤或訪問衝突:1064您的SQL語法錯誤;檢查對應於你的MySQL服務器版本正確的語法使用附近的手冊 'SELECT
c
。* FROMcategories
ASc
INNER JOINevents
ASe
ON c.events_id' 在行1
我檢查每我能想到的資源。希望SO超級專家的完美結合將使我成爲最後一站。 :D
你在原始問題中沒有提到pageresult變量。 很高興爲您效力,因爲我花了15分鐘時間試圖瞭解您遇到錯誤的原因,並且看不出有什麼問題。 當我累了時,我通常會想念這樣的事情。也許該休息一下了? :) – rvdavid 2010-02-05 23:26:30