奇怪的PHP错误:函数无法识别自己的参数

时间:2011-05-13 20:00:32

标签: php

我有以下功能:

  public function updateCustomerInternetBanking($value, $column_to_go_by)
  {
    $sql = "
      UPDATE customer c
        JOIN account_import ai ON c.account_import_id = ai.id
        JOIN generic_import gi ON ai.generic_import_id = gi.id
        JOIN import_bundle ib ON gi.import_bundle_id = ib.id
         SET has_internet_banking = 1
       WHERE c.".$column_to_go_by." = ".$this->quote($value)."
         AND ib.id = ".$this->quote($this->getId())."
    ";

    $conn = Doctrine_Manager::connection();
    $conn->execute($sql);
  }

当我尝试在开发中运行它时,它工作正常。当我尝试在生产中运行它时,我得到了这个:

PHP Notice:  Undefined variable: column_to_go_by in /var/www/mcif/lib/model/doctrine/ImportBundle.class.php on line 655

如何$column_to_go_by未定义?!

您知道,此代码是直接从生产中复制的,我检查了WHERE ...行是第655行。

1 个答案:

答案 0 :(得分:1)

您确定要正确传递两个变量吗?

这样的方法调用:

updateCustomerInternetBanking(999);

会产生这种错误。