Codeigniter won’t prepend “N” to strings and that’s critical for SQL server to retrieve string values. The solution is to revise DB driver of CI:
File: sys\database\DB_Driver.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
function escape($str) { if (is_string($str)) { //Revise this part if($this->dbdriver == 'sqlsrv'){ $str = "N'".$this->escape_str($str)."'"; }else{ $str = "'".$this->escape_str($str)."'"; } } elseif (is_bool($str)) { $str = ($str === FALSE) ? 0 : 1; } elseif (is_null($str)) { $str = 'NULL'; } return $str; } |