2013-08-20 110 views
0

我想從使用PDO擴展的MySQL存儲過程調用中返回行集作爲我的方法。存儲過程和PDO

function searchByExtension($extension_num) 
{ 

    $stmt = $this->pdo->prepare("{CALL select_call(?)}"); 
    $stmt->bindParam(1, $extension_num, PDO::PARAM_INT, 11); 
    $stmt->setFetchMode(PDO::FETCH_NUM); 
    $stmt->execute(); 

    $rows = $stmt->fetchAll(); 

    if(!$rows){ 
     print 'Error!'; 
     die(); 
    } 

    foreach ($rows as $row){ 
     print $row[0].$row[1].$row[2].$row[4].$row[5].$row[6]."\n<br>"; 
    } 

} 

所以要

$call_log->searchByExtension(2458412); 

的調用將依次通過我的數據設置的打印結果相應的瀏覽器,只是它不會飛。劇本到達

print 'Error!'; 

並正式死亡? SP在外殼上工作良好。

+1

這些是什麼花括號裏的呢? –

+0

@YCS,謝謝,它是大括號。這些從網上的教程找到了他們的方式。 – cookie

回答

-1

試試這個...

function searchByExtension($extension_num) 
{ 
    $stmt = $this->pdo->prepare("CALL select_call(:input_extensionNum);"); 
    $stmt->bindParam(":input_extensionNum", $extension_num, PDO::PARAM_INT, 11); 

    //$stmt->setFetchMode(PDO::FETCH_NUM); 
    $stmt->execute(); 

    $rows = $stmt->fetchAll(); 

    if(!$rows){ 
     print 'Error!'; 
     die(); 
    } 

    foreach ($rows as $row){ 
     print $row[0].$row[1].$row[2].$row[4].$row[5].$row[6]."\n<br>"; 
    } 

} 
+0

很久以前已經解決了這個問題 –

+0

對不起,我是這個網站的新成員。 –