2012-04-11 5 views
0

CRUD에 삭제 작업에 버그가있는 경우 누구에게 알리십니까? DB 어댑터 :Zend_Db가 테이블 행을 삭제하지 않습니다.

$this->_db = Zend_Registry::get("db"); 

I는 다음과 같이 수행

$sql = "DELETE FROM premium_items WHERE id = '$id'"; 
        $stmt = new Zend_Db_Statement_Pdo($this->_db, $sql); 
        return $stmt->execute(); 

$sql = "DELETE FROM premium_items WHERE id = ?"; 
       $stmt = new Zend_Db_Statement_Pdo($this->_db, $sql); 
       return $stmt->execute(array($id)); 

$this->_db->delete('premium_items', "id = '$id'"); 

각 변형이 오류없이 작동하지만 무엇을하지 않습니다 해야한다. . 그런 상황에서 나는 무엇을 할 수 있습니까? 이 특별한 경우에 당신이 할 수있는,

$this->_db->delete('premium_items', array("id = ?" => $id)); 

또는 :하십시오 Zend_Db_Adapter

답변

1

시도

$this->_db->delete('premium_items', 'id = ' . (int)$id); 

(하지만 당신은 정수를 사용하는 경우,이 일을하고 당신이 캐스팅 그것은) 모델 (Zend_Db_Table_Abstract)에서

+0

은 모두 옳았다, 하나는 항상 트랜잭션이 최선을 다하고 있습니다 경우 :( –

1

!

$row = $this->find($id)->current(); 
$row->delete(); 
,536 `공공 기능 __construct (Zend_Db_Table_Abstract $ DBTABLE, $ 아이디 : 솔루션을 찾을

또는

$db = $this->getAdapter(); 
$db->delete($table, $db->quoteInto("id = ?", $id)); 
+0

는 사실이 이미이 확인한다) { \t $ this -> _ dbTable = $ dbTable; \t if ($ id) { \t \t $ this -> _ dbTable-> find ($ id) -> current(); \t} else { \t \t $ this -> _ row = $ this -> _ dbTable-> createRow(); \t} }' 다음 '공공 기능이) ( { \t 반환 $를 삭제 -> _ 로우 -> 삭제(); }' –

+0

나는 이미 zend_db_table 함수로 해결책을 찾지 못한 채로이 probleme을 가졌다. 나는 이것을 나의 마지막 코드로 해결한다. – TeChn4K

관련 문제