0

mssql_query用来连接到现有的SQL Server 2008 Database

SELECT查询没问题,但是当我运行UPDATE如下查询时:

mssql_query("UPDATE TABLENAME SET fieldname = 1 WHERE Pk = '".$pk."'");

我收到此错误:

UPDATE 失败,因为以下 SET 选项的设置不正确:'ANSI_NULLS、QUOTED_IDENTIFIER、CONCAT_NULL_YIELDS_NULL、ANSI_WARNINGS、ANSI_PADDING'。验证 SET 选项对于索引视图和/或计算列上的索引和/或过滤索引和/或查询通知和/或 XML 数据类型方法和/或空间索引操作是否正确。(16 级)

这是我到数据库的连接代码:

$server = 'SRVSQL';

// Connect to MSSQL
$link = mssql_connect($server, 'xx', 'xxxxxx');

if (!$link) {
    die('Something went wrong while connecting to MSSQL');
}

$conn = mssql_select_db('xxxxxxx',$link);
4

1 回答 1

0

您可能必须通过打开设置来明确更改设置。您可以通过在 UPDATE 语句之前发出以下查询来做到这一点:

SET 
  ANSI_NULLS, 
  QUOTED_IDENTIFIER, 
  CONCAT_NULL_YIELDS_NULL, 
  ANSI_WARNINGS, 
  ANSI_PADDING 
ON;

如果有其他设置产生错误,则可能也必须更改这些设置。

另请参阅:回答:更新失败,因为以下 SET 选项的设置不正确:'ANSI_NULLS,QUOTED_IDENTIFIER'

于 2013-03-08T10:13:08.137 回答