我正在使用codeignitor 2.1.4,并使用insert_batch插入了一堆行。我使用SQLSRV驱动程序连接到SQL Server 2008数据库。查询运行正常,但是当我运行受影响的行()函数时,我得到的结果很奇怪。请注意,我已对该bug的受影响的行函数进行了更改,所以这不是问题。
我看到的是返回的数字在2位数字后被砍掉。因此,如果插入的行说343,我将得到43。如果受影响的行是35312,我将得到12。
我想知道是否还有其他人看到过这种行为?我已经检查了返回变量的类型,它是INT,所以不是这样。我不知道错误或更改发生在哪里。它几乎像返回值一样被取为模数100并返回。
因此,环顾四周后,我发现了Codeigniter中insert_batch和update_batch函数的疏漏。
由于插入和更新一次更改了100行,受影响的行函数只能看到最后($ rows%100)行,因为这将是最后一次插入/更新。
我找到的解决方案在以下链接中提供:
它没有在那篇文章中说出来,但是您需要在system / database / DB_active_rec.php文件中更改insert_batch和update_batch函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句