我有以下功能:
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行。
答案 0 :(得分:1)
您确定要正确传递两个变量吗?
这样的方法调用:
updateCustomerInternetBanking(999);
会产生这种错误。