2014-12-22 51 views
0

我在執行zend框架中的存儲過程時遇到了問題。 在這個問題之前,我使用dblib,一切都很完美。下面的代碼:無法在zend框架中執行存儲過程

$stmt = $this->_db->prepare("EXEC getParam ? , ?"); 
$stmt->bindParam(1, $param['serial']); 
$stmt->bindParam(2, $renderXml); 
$stmt->execute(); 
$data = $stmt->fetchAll(); 

現在,我改變了我的司機從DBLIB到SQLSRV(通過WAMP 32位runinng),我有以下問題:

微軟] [SQL Server本機客戶端11.0] COUNT字段不正確或語法錯誤'in。.. \ Sqlsrv.php:206>

我搜索的解決方案,但總是一切都像我的第一個解決方案工作,在我更改sql驅動程序之前。

+0

什麼是'$ this - > _ db'?清潔PDO或擴展它的東西? – Marek

+0

它是Zend_Db_Table_Abstract的對象 – TomTom

回答

0

Personnaly我用這個方法調用sored過程:

要調用getParam()不只有兩個字符串參數

$proc = "CALL getParam(:param1, :param2)"; 

$stmt = $this->_db->prepare($proc); 
$stmt->bindParam(':param1', $param['serial'], PDO::PARAM_STR); 
$stmt->bindParam(':param2', $renderXml ,  PDO::PARAM_STR); 

$stmt->execute(); 
$data = $stmt->fetchAll(); 

我希望這可以幫助你。 :)

+0

現在我有錯誤「無效的綁定變量」,但我會在稍後測試它。無論如何,謝謝你的幫助:) – TomTom