我在zend框架中执行存储过程时遇到问题。在这个问题之前,我使用的是dblib,一切都很完美。代码如下:
$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),我有以下问题:
我Microsoft][SQL Server Native Client 11.0]COUNT 字段不正确或语法错误' in>..\Sqlsrv.php:206>
搜索了解决方案,但在我更改 sql 驱动程序之前,一切都像我的第一个解决方案一样有效。
个人 我使用此方法调用一个 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();
我希望它能帮助你。 :)