2011-02-26 39 views
1

我正在使用Magento Enterprise v1.9.0.0。 我需要連接到數據庫並直接運行SQL查詢表。Magento數據庫連接問題

這是我用來做到這一點。

$query = "...SQL QUERY..."; 
    $databaseConnection = Mage::getSingleton('core/resource')->getConnection('core_read'); 
    $result = $databaseConnection->fetchAll($query); 

我在本地計算機上安裝了Magento社區v1.4.1.1和Magento Enterprise v1.9.0.0。 所以爲了測試,我已經在我的本地機器上運行了上面的代碼,並且一切正常。

但它不適用於活服務器。 Magento Enterprise v1.9.0.0安裝在實時服務器上,在線商店正在運行。 所有的作品都適用於實時商店,沒有什麼特別的事情發生。

但我上傳了這段代碼到服務器,它不起作用。 此外,我無法獲得任何PHP/MySQL錯誤消息。

這裏是我用來追蹤運行時間的更詳細的代碼。

// Debug Output 
    $this->OutputDebugLogo("<br/>"); 
    $this->OutputDebugLogo("<br/><h3>Query : </h3>#", $query); 

    $databaseConnection = Mage::getSingleton('core/resource')->getConnection('core_read'); 
    $result = $databaseConnection->fetchAll($query); 

    // Debug Output 
    $this->OutputDebugLogo("<br/><h3>Result : </h3>#", $result); 
    $this->OutputDebugLogo("<br/>"); 

我可以確定SQL語句沒有錯誤。 並且函數OutputDebugLogo()由我自己生成,用於輸出帶有變量的調試消息。

這是我在本地機器上運行此腳本後得到的結果。

Query : 
    ' SELECT ... FROM ... WHERE ... ' 

    Result: 
    array (0 => array ('items' => 'a:2:{s:3:"MEN";a:11:{s:9:...) 

在這裏你可以看到我在現場服務器上有什麼。

Query : 
    ' SELECT ... FROM ... WHERE ... ' 

正如您所看到的,沒有PHP/MySQL錯誤消息。 我們可以說腳本停止運行在數據庫代碼塊。

我無法找到主要原因。 爲什麼發生? 任何人都可以知道嗎?

我真的很期待得到大家的幫助。

問候。 軟盤

回答

0

我在Magento Enterprise 1.9.0.0上運行了腳本,它沒有任何問題,所以腳本本身沒有任何問題。你的查詢是什麼?這兩個版本之間的架構差異很可能沒有考慮到。

希望有幫助!

謝謝, 喬

+0

親愛的喬, 感謝您的意見。 你的猜想可能是對的。 你能分享一下我的時間來和我討論問題嗎? 我真的很期待再次獲得您的幫助。 我的Skype是軟盤。 如果你與我聯繫,那將非常感謝 軟盤 – 2011-02-28 10:30:59