update语句在mssql中工作,但当包含在php页面内的函数中时不工作[关闭]

dzhpxtsq  于 2023-03-28  发布在  PHP
关注(0)|答案(1)|浏览(99)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。

4天前关闭。
这篇文章是编辑和提交审查2天前。
Improve this question

Function update($response_code,$request_execution_id,$id){
Global $connect;
$update33='update [workflow-new].[dbo].[balance_order_test] set [status]=? ,request_execution_id=?, updated_time=current_timestamp where id=? ';

$params33 = array(
    array($response_code, null, null, SQLSRV_SQLTYPE_NVARCHAR(50)),
    array($request_execution_id, null, null, SQLSRV_SQLTYPE_NVARCHAR(50)),
    array($id, null, null, SQLSRV_SQLTYPE_BIGINT),
);
$stmt33 = sqlsrv_query($connect, $update33, $params33);
if( $stmt33 === false ) {
    if(($errors = sqlsrv_errors()) != null) {
        foreach( $errors as $error ) {
            echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
            echo "code: ".$error[ 'code']."<br />";
            echo "message: ".$error[ 'message']."<br />";
        }
    }
}
}
////

这在一个独立的页面中工作,但在插入函数时不工作,当我为sqlsrv打印错误时,什么也不显示

echo $response_code.'**'.$request_execution_id.'**'.$id.'<br>';

这将返回以下内容:

4**22244**1
elcex8rz

elcex8rz1#

函数是否可以访问数据库句柄$connect
试试加

GLOBAL $connect;

添加到函数的顶部,以访问在主脚本范围内定义的数据库句柄。

相关问题