戻らない -PHP/sqlsrv_queryリソースIDは3ですが、私は、単純なストアドプロシージャ持つデータ
CREATE PROCEDURE [dbo].[usp_ws_s_GetCargoClearanceApproval_t]
@BOLID INT,
@ACCOUNTID INT,
@TOTALAMOUNT FLOAT OUT,
@STORAGEDAYS INT OUT,
@ACCOUNTCREDIT FLOAT OUT,
@CREDITLIMIT FLOAT OUT
AS
BEGIN
--SET NOCOUNT ON
SET @TOTALAMOUNT= '25.00'; SET @STORAGEDAYS = 5; SET @ACCOUNTCREDIT =2500.00; SET @CREDITLIMIT=75000.00 ;
SELECT @TOTALAMOUNT,@STORAGEDAYS,@ACCOUNTCREDIT,@CREDITLIMIT;
END
これは、PHPファイルとコードで呼ばれている -
<?php
$bol_id = 426863;
$account_id = 26293;
$totalamount = 0.00;
$storagedays = 0;
$accountcredit = 0.00;
$creditlimit = 0.00;
$param1 = array($bol_id, SQLSRV_PARAM_IN);
$param2 = array($account_id, SQLSRV_PARAM_IN);
$param3 = array($totalamount, SQLSRV_PARAM_OUT);
$param4 = array($storagedays, SQLSRV_PARAM_OUT);
$param5 = array($accountcredit, SQLSRV_PARAM_OUT);
$param6 = array($creditlimit, SQLSRV_PARAM_INOUT);
$params = array($param1, $param2, $param3, $param4, $param5, $param6);
$tsql = "{call usp_ws_s_GetCargoClearanceApproval_t(?,?,?,?,?,?)}";
$Account_Transaction_List = array();
$connectionInfo = array( "Database"=>'**', "UID"=>'**', "PWD"=>'***');
$conn = sqlsrv_connect("**", $connectionInfo);
if($conn === false) {
echo "Couldn't connect to SQL Server on $this->servername.<br />";
die(print_r(sqlsrv_errors(), true));
} else {
echo "Connected!";
}
echo '<br/>';
$result = sqlsrv_query($conn, $tsql, $params);
echo "<pre/> $result - ";print_r($result);
echo '<br/>';
if ($result !== NULL) {
$rows = sqlsrv_has_rows($result);
if ($rows === true)
echo "\nthere are rows\n";
else
echo "\nno rows\n";
}
while($row = sqlsrv_fetch_array($result))
{
echo 'IN <br/>';
}
?>
を
返品:
Connected!
リソースID#3 - リソースID#3
なしの行に関係なく、私はデータを得ることはありませんしてみてください何
。私はrefでparamsを渡そうとしました。最後の2日間の接続や他の順列にカーソルオプションを設定しました。運がありません。
誰もがこの問題に遭遇しましたか?すべてのポインタが評価されます。私は気づく
おかげ
ストアドプロシージャを単独でテストしようとしましたか? – TinkerTenorSoftwareGuy
'Resource id#3'は、クエリが成功したことを意味するだけで、行を返すわけではありません。だから間違いなくその手順を自分で試して、そこから行ってください。 – aynber
それを見ていただきありがとうございます。 SQL Server管理スタジオで実行すると、spは値を返します。あなたが見ることができるように、SP自体は非常にストレートです。 –