j'ai un petit problème de syntaxe, avec Insert mysql, je tourne en rond sans trouver pourquoi qui peu m'aider??

j'utilise le script suivant pour inserer un article dans la table 'blagues', il donne toujours l'erreur 1054 avec le contenu de la zone texte

script:
-------
$texte = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
$long_texte= strlen($texte); // longueur du texte
$num = 3;
$insb = mysqli_query($dbqa,'INSERT INTO blagues (numero, longueur, texte) VALUES ('.$num.', '.$long_texte.', '.$texte.' )');
if (!$insb)
{ die('<br/>Erreur insert (' . mysqli_errno($dbqa) . ') ' . mysqli_error($dbqa));
}
echo 'insert OK num'.$num;

résultat:
---------
Erreur insert (1054) Unknown column 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' in 'field lis

si je supprime la zone texte en insertion cela fonctionne mon article est bien inséré dans la table mais sans le texte

exemple:
-------
$insb = mysqli_query($dbqa,'INSERT INTO blagues (numero, longueur) VALUES ('.$num.', '.$long_texte.' )');

résultat
--------
insert OK num3


définition de la table blagues
-----------------------------
1 numero smallint(4) UNSIGNED
2 longueur smallint(4) UNSIGNED
3 texte text utf8_unicode_ci

base de données 5.1.49 sur Synology avec dsm 4.2


merci d'avance pour votre réponse pertinente.