2014-01-16 67 views
1

我避免了內容的一些未經授權的用戶,我的病情運作良好,但在訪問這個自己的控制器我收到錯誤。 請幫我一把。SQLSTATE [HY093]:無效的參數號:無參數被束縛的Zend

$offer = new Application_Model_DbTable_Offers(); 
     $query = $offer->fetchAll($offer->select() 
             ->from('vs_offers') 
             ->where('id =?',$o_id) 
             ->where('campaign_id IN (SELECT id from vs_campaign WHERE advertiser_id = ?)', $this->sessiondata->id)); 

if(count($query) < 1){ 
    $this->_helper->flashMessenger->addMessage('Unauthorize access'); 
    $this->_redirect('offers/'); 
    exit; 
} 

回答

2

使用IN子句在Zend中有點不同。一種方法是使用Zend_Db_Expr至IN子句操作一樣進行,

->where(new Zend_Db_Expr(sprintf('campaign_id IN 
      (SELECT id from vs_campaign WHERE advertiser_id = %1$d)', 
      $this->sessiondata->id))); 

另一種方法是使用subquery

相關問題