我正在研究Magento Enterprise v1.9.0.0。 我需要连接到数据库并直接运行SQL来查询表。
以下是我过去常常做的事情。
$query = "...SQL QUERY...";
$databaseConnection = Mage::getSingleton('core/resource')->getConnection('core_read');
$result = $databaseConnection->fetchAll($query);
我在本地计算机上安装了Magento Community 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 :(得分:0)
我在Magento Enterprise 1.9.0.0上运行了你的脚本并且没有任何问题,因此脚本本身似乎没有任何问题。你的疑问是什么?您可能没有考虑这两个版本之间的架构差异。
希望有所帮助!
谢谢, 乔