2012-11-26 2 views
2

와 YII 저장 프로 시저를 사용하여 어떻게 내가 MySQL의에서 저장 프로 시저에이 기능을는 MySQL의

public function getScripts($page, $section){ 
     $data = Yii::app()->db->createCommand() 
       ->select('*') 
       ->from('scripts') 
       ->where("page_id='$page' and section_id='$section'") 
       ->queryAll(); 
     return $data; 
    } 

을 변경해야합니다. MySQL 용 Yii 내부에서는 어떻게 할 것인가?

+0

이 될 수있다 : http://blog.havenisms.com/using-stored-procedures-in-yii를 – GBD

+0

나는 저 게시물을 조금 혼란스럽게 보았습니다. –

답변

11
  1. $page$section을 직접 sql 코드에 삽입하지 마십시오. 귀하의 사이트는 SQL 인젝션에 취약합니다! 매개 변수를 대신 사용하십시오.
  2. 당신은 정상적인 쿼리 실행처럼 저장 프로 시저를 실행할 수 있습니다

    public function getScripts($page, $section){ 
        return Yii::app()->db->createCommand("CALL your_stored_procedure(:page, :section)") 
             ->queryAll(array(':page' => $page, ':section' => $section)); 
    } 
    
+0

두 쿼리가 있다면 어떻게 검색해야합니까? –

+1

해결책을 찾았습니다. [http://arunsri-india.blogspot.in/2014/04/get-multiple-result-sets-from-mysql.html] –