我正在使用带有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);
我执行此代码,我应该只在表中插入一行。相反,我得到了这两个相同的行(第一列除外,它是主键并且是标识符)
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