解决 1.6.1 版本中的 MSSQL 驱动 BUG
症状:An Error Was Encountered
Error Number:
SELECT "EventID", "Title" FROM "table" ORDER BY "StartDate"
多了很多双引号,导致 SQL 错误。
解决方案:
找到 system/database/drivers/mssql/mssql_driver.php 中的第 461 行(或附近),修改
$item = preg_replace('/(^'.$lbound.')([\w\d\-\_]+?)(\s|\)|$)/iS', '$1"$2"$3', $item);
为
$item = preg_replace('/(^'.$lbound.')([\w\d\-\_]+?)(\s|\)|$)/iS', '$1$2$3', $item);
然后,在其第 465 行(或附近),修改
return "\"{$item}\"";
为
return "{$item}";
此为民间解决方案,并且此 BUG 已经提交,请关注官方修正补丁! 谢谢.....最近可能刚好要用mssql mysqli_driver.php中是单引号的,不知道有问题没有?
$item = preg_replace('/(^'.$lbound.')([\w\d\-\_]+?)(\s|\)|$)/iS', '$1`$2`$3', $item);
return "`{$item}`";
[ 本帖最后由 nase 于 2008-4-30 17:08 编辑 ] MySQL 无此问题。 刚好要用mssql ,tks
回帖记号一下 我在用1.7.1,不知道有没有这此问题
页:
[1]