我正在從Magento U在線學習一個免費教程,並且已經進入了安裝模塊的階段。由於sql錯誤信息無法安裝模塊
目前我花了大約三個小時嘗試不同的替代方案來克服Sql錯誤(在第1行)我不斷收到。我甚至刪除了Magento的特定函數,並在測試數據庫的mysql工作臺上運行它,它在哪裏工作。
的安裝文件運行時,我面臨着
Syntax error or access violation: 1064 You have an error in your SQL syntax;
錯誤
我也認爲,我可以有我的模塊中設置不正確其它地方的文件,但我無法看到什麼是錯誤。最後,我也試圖使在Magento更詳細的SQL錯誤消息,但還沒有任何運氣
我的代碼如下
培訓/動物/ SQL/training_animal_setup/mysql4安裝-0.1.0。 PHP
<?php
$installer = $this;
$installer->startSetup();
$installer->run("
DROP TABLE IF EXISTS{$installer->getTable('training/animal')};
CREATE TABLE {$installer->getTable('training/animal')} (
entity_id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL DEFAULT '',
type VARCHAR(255) NOT NULL DEFAULT '',
edible TINYINT(1) UNSIGNED NOT NULL DEFAULT 1,
comments TEXT NULL,
updated_at DATETIME,
created_at DATETIME
) Engine=InnoDB DEFAULT Charset=UTF8;
");
$installer->endSetup();
培訓/動物的/ etc/config.etc
<config>
<modules>
<Training_Animal>
<version>0.1.0</version>
</Training_Animal>
</modules>
<global>
<models>
<training>
<class>Training_Animal_Model</class>
<resourceModel>training_animal_resource</resourceModel>
</training>
<training_animal_resource>
<class>Training_Animal_Model_Mysql4</class>
<entities>
<animal><table>training_animal_entity</table></animal>
</entities>
</training_animal_resource>
</models>
<resources>
<training_animal_setup>
<setup>
<module>Training_Animal</module>
<class>Mage_Core_Model_Resource_Setup</class>
</setup>
</training_animal_setup>
</resources>
</global>
<frontend>
<routers>
<animal>
<use>standard</use>
<args>
<module>Training_Animal</module>
<frontName>animal</frontName>
</args>
</animal>
</routers>
</frontend>
我也有其他的三個文件
培訓/動物/型號/ Mysql4 /動物/ Collection.php
培訓/動物/型號/ Mysql4/Animal.php
培訓/動物/模型/動物.PHP
,但尚未公佈,由於錯誤信息,節省空間,如果需要他們,請讓我知道
從未使用過magento,但通常情況下,您可以在PHP-mysql代碼中的一個' - > exec()'類型調用中不**有多個查詢。這是一種反注入攻擊防禦機制。例如通過兩個獨立的' - > run()'調用發出你的DROP和CREATE查詢。 –