0

在我的Application_Model_DbTable_User,我有以下功能:

public function deleteUser($username)
{
    $this->delete('username = ' . (string) $username);
}

AdminController使用这三行代码从 my 调用此函数。

$uname = $this->getRequest()->getParam('username');
$user = new Application_Model_DbTable_User();
$user->deleteUser($uname);

然而,这个错误出现了。

未找到列:1054 'where 子句'中的未知列 'test'

测试是我要删除的用户。

此代码改编自先前的代码,该代码基于idINT 字段删除,该代码运行良好。我究竟做错了什么?如果需要,我很乐意提供更详细的代码。谢谢。

4

1 回答 1

2

未引用您的查询:

$this->delete('username = ' . (string) $username);

这相当于:

WHERE username = test

如果您使用 where() 方法,它将为您执行此操作:

$table->where('username = ?', $username);

或者(如文档中的示例):

$where = $table->getAdapter()->quoteInto('bug_id = ?', 1235);
$table->delete($where);
于 2012-07-24T13:31:37.073 回答