SQLSRV存储过程调用无法正常工作

时间:2015-01-07 08:33:36

标签: php sql-server sqlsrv

阅读了一堆线程后,但我仍然不知道为什么我的查询不起作用:'(。它只是返回

sqlsrv_fetch_array() expects parameter 1 to be resource, boolean given

sql connect很好'因为我可以查询选择

已阅读this,但没有解决此问题

这是我的代码

$ma_vt = '24110012A2140850';
$query = "{call dbo.Tondaulist(?,?,?,?,?,?)}";

$params = array(array('OL', SQLSRV_PARAM_IN),
                array('01/02/2015', SQLSRV_PARAM_IN),
                array('BPOL01', SQLSRV_PARAM_IN),
                array('', SQLSRV_PARAM_IN),
                array($ma_vt, SQLSRV_PARAM_INOUT),
                array('1', SQLSRV_PARAM_IN)
                );
$test = sqlsrv_query($conn, $query, $params);
if ($test === FALSE){
    echo 'fail';
}
$arr = sqlsrv_fetch_array($test,SQLSRV_FETCH_ASSOC);

经过一个小时的尝试后,我改变了我的代码

$query = "{call dbo.Tondaulist(?,?,?,?,?,?)}";

$params = array(array('OL,'),
                array('01/02/2015'),
                array('BPOL01'),
                array(''),
                array('24110012A2140850'),
                array('1')
                );

$smtp = sqlsrv_prepare($conn, $query, $params);

if ($smtp === FALSE){
    echo 'fail';die;
}
sqlsrv_execute($smtp);

 while($row = sqlsrv_fetch_array($smtp)){
    echo 'ello';
    echo '<br />';
    }
    if( sqlsrv_fetch_array( $smtp ) === false ) {
        die( print_r( sqlsrv_errors(), true));

现在存储过程运行但返回错误:查询的活动结果不包含任何字段。

我在SQL studio中运行SP并返回1行。

这是我的存储过程的参数

enter image description here

有人知道我哪里错了吗?

0 个答案:

没有答案