【发布时间】:2015-01-09 15:39:17
【问题描述】:
我对此完全陌生,只是因为老板的要求。所以我有一些问题想问。
这是我在 SQL 中调用 SP 时的结果
下面是在php中调用SP的代码
$ma_dvcs = 'OL';
$ngay = '01/2/2015';
$ma_kho = 'BPOL01';
$ma_nhvt = '';
$ma_vt = '24110012A2140850';
$kieu = '1';
$query = "{call Tondaulist (@p_Ma_Dvcs_List = ?,@p_Ngay = ?,@p_Ma_Kho = ?,@p_Ma_Nh_Vt = ?,@p_Ma_Vt = ?,@p_Kieu = ?)}";
$params = array(
array(&$ma_dvcs, SQLSRV_PARAM_IN),
array(&$ngay, SQLSRV_PARAM_IN),
array(&$ma_kho, SQLSRV_PARAM_IN),
array(&$ma_nhvt, SQLSRV_PARAM_IN),
array(&$ma_vt, SQLSRV_PARAM_IN),
array(&$kieu, SQLSRV_PARAM_IN)
);
$smtp = sqlsrv_prepare($conn, $query, $params);
if( $smtp === false )
{
echo "Error in executing statement 3.\n";
die( print_r( sqlsrv_errors(), true));
}
$rows = sqlsrv_execute($smtp);
var_dump($rows);die;
$arr[] = sqlsrv_fetch_array($rows,SQLSRV_FETCH_ASSOC);
SQLSRV exec var_dump 返回 true,但我无法获取任何内容,并且一直报错:
The active result for the query contains no fields
或者
sqlsrv_fetch_array() expects parameter 1 to be resource, boolean given
所以我想知道 SP 是否像 php 中的函数一样工作?如果是,它可以返回一个数组还是只返回布尔值以及如何获取该数组?
提前致谢
【问题讨论】:
标签: php sql-server stored-procedures