gpt4 book ai didi

php - 错误的T-SQL查询时sqlsrv_query不会返回false

转载 作者:行者123 更新时间:2023-12-03 08:54:36 25 4
gpt4 key购买 nike

我正在使用sqlsrv连接到MSSQL数据库。安全的(仅适用于少数人)Intranet应用程序中的一项功能提供了一个框,用于编写T-SQL代码并将其执行到数据库中。目前,我正在开发一项功能,以测试给定的查询。

首先验证查询的正确意图(例如,如果发现INSERT,UPDATE,DELETE,SHOW,CREATE等,则查询将不会执行)。如果成功,我将尝试测试查询。当我提供错误的SQL查询时,我仍然从sqlsrv_query而不是false获得资源(如此处的预期行为http://php.net/manual/en/function.sqlsrv-query.php所述)。注意:查询确实为假(有趣的句子..),在SQL Server Management Studio中,查询按预期失败。

在我的函数testQuery(string $query)下面:

public static function testQuery($query) {
sqlsrv_configure('WarningsReturnAsErrors', 1);
$statement = sqlsrv_query(self::$instance, $query);

if($statement === false) {
$errors = sqlsrv_errors(SQLSRV_ERR_ALL);

if(!is_null($errors)) {
return $errors;
}

return false;
}

return true;
}

使用或放弃sqlsrv_configure()都没有区别。我正在查询的数据库是MSSQL 2005数据库。

有什么建议吗?

最佳答案

我不确定是什么原因,可能是连接延迟。我没有做任何更改,但是现在可以使用了。

关于php - 错误的T-SQL查询时sqlsrv_query不会返回false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30728241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com