0

Application_Model_DbTable_Userの には、次の機能があります。

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

この関数はAdminController、次の 3 行のコードで my から呼び出されます。

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

ただし、このエラーが発生します。

列が見つかりません: 1054 不明な列 'test' in 'where 句'

テストを削除しようとしているユーザーです。

idこのコードは、完全に正常に動作する INT フィールドに基づいて削除する以前のコードから変更されています。私は何を間違っていますか?必要に応じて、より詳細なコードを提供していただければ幸いです。ありがとう。

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 に答える