实际上我现在在 magento 工作,开发一个模块来检查是否使用了优惠券代码。详细信息存储在新表中。在我的 config.xml 中,我指定了用于从数据库表中获取详细信息的观察者页面。但我不知道magento中观察者页面的确切用途。我可以使用观察者页面吗?
但是它继续出错 我检查了日志文件
这是
a:5:{i:0;s:203:"SQLSTATE[42000]: Syntax error or access violation: 1064 你的 SQL 语法有错误;检查对应于你的 MySQL 服务器版本的手册在第 1 行的 '=' 附近使用正确的语法";i:1;s:1677:"#0 C:\wamp\www\Mymagento\lib\Varien\Db\Statement\Pdo\Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
我的observer.php文件也如下所示
类 Module_Voucher_Model_Observer {
public function __contruct()
{
$coupon_code = trim(Mage::getSingleton("core/session")->getData("coupon_code"));
}
public function getresultofVoucher($coupon_code)
{
$resource = Mage::getSingleton('core/resource');
$readConnection = $resource->getConnection('core_read');
$table = "voucher_code_status_table";
$query = 'SELECT * FROM ' . $table. 'WHERE value='.$coupon_code;
$results = $readConnection->fetchAll($query);
return $results;
}
请帮忙看看这里的mysql错误是什么?请尽快帮忙
提前致谢
最佳答案
Observer.php 是一个模型类文件,和所有模型一样,如果我们需要它的功能,也可以任意调用。
通常我们在使用 magento 事件时使用观察者。在 config.xml 中,我们声明事件,并在事件发生时使用观察者函数来处理事件。
我已经检查了你的错误和代码。似乎代码没有获得优惠券代码的值(value)。请检查 $coupon_code 是否有任何值(value)。
这可能是问题所在。
谢谢。
关于mysql - magento 模块中 observer.php 的用途是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26013771/