mysql_real_escape_string () fait juste une chaîne vide?

Je suis à l'aide de jQuery AJAX requête à une page appelée like.php qui se connecte à ma base de données et insère une ligne. C'est le like.php code:

<?php

//Some config stuff
define(DB_HOST, 'localhost');
define(DB_USER, 'root');
define(DB_PASS, '');
define(DB_NAME, 'quicklike');

$link = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die('ERROR: ' . mysql_error());
$sel = mysql_select_db(DB_NAME, $link) or die('ERROR: ' . mysql_error());

$likeMsg = mysql_real_escape_string(trim($_POST['likeMsg']));
$timeStamp = time();

if(empty($likeMsg))
    die('ERROR: Message is empty');

$sql = "INSERT INTO `likes` (like_message, timestamp)
        VALUES ('$likeMsg', $timeStamp)";

$result = mysql_query($sql, $link) or die('ERROR: ' . mysql_error());

echo mysql_insert_id();

mysql_close($link);

?>

De la ligne problématique est $likeMsg = mysql_real_escape_string(trim($_POST['likeMsg']));. Il semble tout simplement renvoyer une chaîne vide, et dans ma base de données sous la like_message colonne de tout ce que je vois est d'entrées vides. Si je supprime mysql_real_escape_string() cependant, il fonctionne très bien.

Voici mon code jQuery si ça aide.

$('#like').bind('keydown', function(e) {
    if(e.keyCode == 13) {
        var likeMessage = $('#changer p').html();

        if(likeMessage) {
            $.ajax({
                cache: false,
                url: 'like.php',
                type: 'POST',
                data: { likeMsg: likeMessage },
                success: function(data) {
                    $('#like').unbind();
                    writeLikeButton(data);
                }
            });
        } else {
            $('#button_container').html('');
        }
    }
});

Tout cela jQuery code fonctionne très bien, je l'ai testé moi-même de façon indépendante.

Toute aide est grandement appréciée, merci.

source d'informationauteur VIVA LA NWO | 2010-06-09