mysql - magento 模块中 observer.php 的用途是什么

标签 mysql magento pdo module observers

实际上我现在在 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/

相关文章:

java - 使用自定义查询(子查询) hibernate 额外列

mysql - 如何将删除结果保存到mysql中的变量中?

php - 打印PDO查询结果

php - Android GZip 通过 PHP 到 MySQL BLOB

php - 使用两个不同的数组构建一个 MySQL INSERT,每个数组使用

svn - 在现有安装上设置 Magento 和 SVN

Magento 2 文件夹结构不同

magento - 在此服务器上找不到请求的 URL (Magento)

php - PDO + SqlAnywhere,可能吗?

php - 在准备好的语句中使用占位符时出错