2015-01-13 1 views
1

나는 테이블에 모든 쿼리를 보여주고 싶은, 내가 연결의 두 가지 유형을 시도했습니다,하지만 난 좋은 생각을표시 쿼리 젠드 프레임 워크

$AModel = new Model_A(); 
    $select = $AModel->fetchAll($AModel->select()->where('user_id like ?', '%9893%'));   
    $rowArray = $select->toArray(); 
    echo '<br><hr>A:<br>'; 
    print 'user-id:'. ($rowArray[0]['user_id']); 
    echo '<br>next</br>'; 
    print ($rowArray[1]['user_id']); 
    $BModel = new Model_B(); 
    $select_op = $BModel->select()->from($BModel, array('username','email','password'))->where('username = ?', '76'); 
    $results = $select_op->query()->fetchAll(); 
    $sql = $select_op->__toString(); 
    echo '<br><hr>B:<br>'; 
    echo '<p>My SQL: ' . $results . '</p>'; 
+0

을 알고 싶어'에코 $ 선택'? – Volvox

답변

1

사용 Zend_Db_Profiler

$profiler = $db->getProfiler(); 
$totalTime = $profiler->getTotalElapsedSecs(); 
$queryCount = $profiler->getTotalNumQueries(); 
$longestTime = 0; 
$longestQuery = null; 

foreach ($profiler->getQueryProfiles() as $query) { 
    if ($query->getElapsedSecs() > $longestTime) { 
     $longestTime = $query->getElapsedSecs(); 
     $longestQuery = $query->getQuery(); 
    } 
} 

echo 'Executed ' . $queryCount . ' queries in ' . $totalTime . 
    ' seconds' . "\n"; 
echo 'Average query length: ' . $totalTime/$queryCount . 
    ' seconds' . "\n"; 
echo 'Queries per second: ' . $queryCount/$totalTime . "\n"; 
echo 'Longest query length: ' . $longestTime . "\n"; 
echo "Longest query: \n" . $longestQuery . "\n";