У меня есть решение, которое будет работать.
Я использую ADODB (но это не имеет значения) и взломал драйвер mssql (adodb-mssql.inc.php в папке драйверов adodb5).
вот код
if($var === ''){
//stupid hack to prevent mssql driver from converting empty strings to null. now they arent empty strings but they will get trimmed down to legth 0 ;-)
$var = ' ';
$type = SQLVARCHAR;
$isNull = false;
$maxLen = 0;
}
просто проверьте, пытаетесь ли вы привязать пустую строку и измените ли вы ее на непустую. не имеет значения, какое значение вы используете, я просто использую пробел.
сделать тип sqlvarchar isnull должен быть ложным, и теперь хитрость заключается в том, чтобы сделать maxlen 0, чтобы драйвер mssql обрезал вашу строку до пустой строки.
эти переменные должны быть переданы в функцию mssql_bind, если это не было очевидно.