提问人:Capitan Kamote 提问时间:11/8/2023 最后编辑:Capitan Kamote 更新时间:11/8/2023 访问量:30
如何在sqlsrv_prepare中绑定参数?
How can I bind a parameter in sqlsrv_prepare?
问:
我们有这个存储过程,它是由其他 guiys 创建的
DECLARE @RC int
DECLARE @Number varchar(10)
-- TODO: Set parameter values here.
EXECUTE @RC = [dbo].[spWebGetPrice]
@Number
GO
我的问题是如何使用sqlsrv_prepare在@Number上绑定值。
我正在使用此代码,但它说仍未提供参数
$sql = sqlsrv_prepare($conn,"spWebGetPrice", ['@Number', 123456]);
答:
1赞
IMSoP
11/8/2023
#1
过程参数与准备好的查询占位符是分开的。
sqlsrv_prepare
期望作为其第二个参数的完整 SQL 字符串,而不是将作为单独参数提供的数据。使用普通选择查询更容易说明这一点:?
sqlsrv_prepare($conn, 'Select * From Users Where Username=?', [$username]);
要运行存储过程,您需要执行相同的操作 - 用占位符写出 SQL:?
sqlsrv_prepare($conn, 'Exec spWebGetPrice @Number=?', [123456]);
评论
0赞
Capitan Kamote
11/8/2023
感谢您的回复,我真的很感激。这真的非常简单,因为我是这种方法的新手。
评论
@Number
?
stp_Create_Item