2

我正在使用带有 MSSQL Server 2008 的 Windows Server,并在单独的 Windows Server 上与 WAMP 建立 ODBC 连接。使用 PHP 执行数据库查询,当我运行 INSERT 查询时,我得到两个相同的行(唯一的标识符是分隔它们的唯一标识)。我已经多次检查它不是重复发布,所以它必须执行两次代码,或者发送两次,问题不在 PHP 端,这是肯定的。

例如,我运行以下代码:

$sql = "INSERT INTO mytable(aboutPerson, fromPerson, comment)
VALUES(1,5, 'hello')";
//.. create connection to db
odbc_exec($sql);
//.. close connection to db

从中我在表中得到两个相同的行。这发生在几个表上。

为什么会发生这种情况,我该如何阻止它发生?使用 ODBC 将 WAMP 连接到 Microsoft SQL Server 是否是一个已知错误?

顺便说一句,我没有切换系统的选项。

任何帮助将不胜感激,谢谢!

编辑-

请求的实际示例。

$SQL = "INSERT INTO billboard (toPersonId, toGroupClass, toOfficeId, fromOfficeId,
fromType, fromId, header, msg, aboutPersonId, created, startMessageId,
fromPersonId, status, emailNote, smsNote) 
VALUES (1, 0, 1, 1,
2, 1, 'cccccccccccccc', 'cccccccccccccccc', '', GETDATE(), 0,
1, 0, 0, 0)";
$resource = odbc_connect(database server url, username, password);
$statement = odbc_exec($SQL, $resource);
return odbc_free_result($statement);

我执行这段代码,我应该只将 1 行插入到表中。相反,我得到了两个相同的行(第一列除外,它是主键并且是标识)

111 1   0   1   1   2   1   cccccccccccccc  cccccccccccccccc    0   2012-10-10 12:56:27.773 0   1   0   0   0
110 1   0   1   1   2   1   cccccccccccccc  cccccccccccccccc    0   2012-10-10 12:56:27.773 0   1   0   0   0
4

0 回答 0