我使用带有 sqlsrv 扩展名的 php 5.4,我正在尝试调用这个示例存储过程(NorthWind 数据库):
create PROCEDURE [dbo].[GetCategories]
@CategoryID int = null
AS
SELECT * from dbo.Categories where CategoryID= IsNull(@CategoryID,CategoryID)
我正在使用这个 sqlsrv_query 语法:
$sql = "{ call dbo.GetCategories (?)}";
$catID=2;
$params = array($catID);
$stmt = sqlsrv_query( $conn, $sql,$params);
我想在 $params 中指定参数名称和值,就像这样:
$sql = "dbo.GetCategories";
$catID=2;
$params = array("@CategoryID"=>$catID);
$stmt = sqlsrv_query( $conn, $sql,$params);
它返回此错误:参数数组中不允许使用字符串键。
我怎么解决这个问题?谢谢