2012-07-24 2 views
0

에서 삭제와 문제는, 나는 다음과 같은 기능을 가지고 :은 젠드 프레임 워크 - 내 <code>Application_Model_DbTable_User</code>에서 데이터베이스 코드

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

이 기능은 코드의이 세 가지 라인, 내 AdminController에서 호출되고있다.

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

그러나이 오류는 나타납니다.

열을 찾을 수 없습니다 : 1054 알 수없는 열 '테스트' 'where 절'

에 테스트 내가 삭제하려고 사용자 인으로.

이 코드는 INT 필드 인 id을 기반으로 삭제하는 이전 코드에서 변경되었으며 완벽하게 작동합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 필요한 경우 더 자세한 코드를 제공하게되어 기쁩니다. 감사.

답변

2

귀하의 쿼리가 인용되지 않은 : 당신은() 메소드를 어디에 사용하는 경우

WHERE username = test 

, 그것은 당신을 위해이 작업을 수행합니다 :

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

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

이 동일합니다

또는 (문서의 예와 같이) :

$where = $table->getAdapter()->quoteInto('bug_id = ?', 1235); 
$table->delete($where); 
+0

이렇게하는 것이 좋습니다 : $ db = $ this-> getAdapter(); $ table-> where ($ db-> quoteInto ('username =?', $ username)); –

+0

고마워, 그게 내 문제를 해결. :) – Ayrx