mysql_real_escape_string parou de funcionar quando mudei meu código para outro servidor

O código a seguir funciona perfeitamente na minha instalação local do xampp (Windows 7), mas quando eu o transportei para um servidor Win2K8 R2, a peça mysql_real_escape_string não funciona. Quando eu comento, funciona bem. Tenho certeza que isso tem algo a ver com o arquivo php.ini, mas não consigo identificar o que é. Talvez meu código devesse ter sido escrito de maneira diferente para começa

function add_asset($asset_type_ID, $org_ID, $asset_desc, $asset_cost, $asset_value, $purchase_date) {
    global $db;
    $asset_desc = mysql_real_escape_string($asset_desc);
    $query = "INSERT INTO assets
                 (asset_ID, asset_type_ID, org_ID, asset_desc, asset_cost, asset_value, purchase_date)
              VALUES
                 (DEFAULT, '$asset_type_ID', '$org_ID', '$asset_desc', '$asset_cost', '$asset_value', '$purchase_date')";
    $add_asset = $db->exec($query);
    $last_asset_ID = $db->lastInsertId();
    return $last_asset_ID;

Especificamente, quando o registro é inserido no mysql, oasset_desc campo está em branco.

Obrigado

UPDATE: Depois de examinar o log de erros do PHP, encontrei o seguinte:

[ function.mysql-real-escape-string]: Acesso negado para o usuário '' @ 'localhost' (usando a senha: NO)

questionAnswers(4)

yourAnswerToTheQuestion