【发布时间】:2014-11-13 13:33:29
【问题描述】:
我的 MS SQL 服务器上有以下存储过程:
CREATE PROCEDURE checkFollowing
(
@myMemberID INT,
@otherMemberID INT
)
AS
BEGIN
IF EXISTS (SELECT 1 FROM Followers WHERE follower = @myMemberID AND followed = @otherMemberID)
RETURN 1
ELSE
RETURN 0
END
GO
到目前为止,在我的 PHP 代码中,我有这个方法:
function iAmFollowing($mymemberID, $otherMemberID) {
$query = "EXEC checkFollowing @myMemberID = ?, @otherMemberID = ?";
$stmt = sqlsrv_query($this->con, $query, array(&$mymemberID, &$otherMemberID));
$result = sqlsrv_fetch_array($stmt);
return $result[0];
}
正如我现在所意识到的,我无法使用 sqlsrv_fetch_array() 命令获取返回值。但我似乎无法弄清楚如何使用 php 获取输出值。 有人知道如何实现吗?
任何帮助将不胜感激。
解决方案
CREATE PROCEDURE checkFollowing
(
@myMemberID INT,
@otherMemberID INT
)
AS
BEGIN
IF EXISTS (SELECT 1 FROM Followers WHERE follower = @myMemberID AND followed = @otherMemberID)
SELECT 1 AS 'output'
ELSE
SELECT 0 AS 'output'
END
GO
和php代码应该差不多。只需将返回值更改为: $结果['输出'];
【问题讨论】:
标签: php sql-server stored-procedures sqlsrv