-
Mysql Insert 1054
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.
-
Bonsoir,
si tu affiche ta requête comme elle est perçu par MySQL :
Code:
INSERT INTO blagues (numero, longueur, texte) VALUES (1, 15, aaaaaaaaaaaaaaa)
Donc lorsque que c'est un entier MySQL comprend sauf que lorsque quand tu veut insérer une chaîne de caractère qui n'est pas entourée par les caractères '' ou "" est interpréter comme étant le nom d'une colonne existante dans la table ou tu veut insérer ton enregistrement,
donc pour insérer une chaîne de caractère il faut l'entourer :
Code:
$insb = mysqli_query($dbqa,"INSERT INTO blagues (numero, longueur, texte) VALUES ($num, $long_texte, '$texte')");
PS: utilise les balises [CODE ][/CODE ] pour montrer du code sur le forum (tu peut utiliser le symbole # au dessus de la zone de saisie).
-
insert Mysql résolu
merci bien
pour cette bonne réposne rapide,
mon problème est résolu
c'est vrai que je me mélange un peu avec les ' ou " ou ( etc.
merci encore
-
insert Mysql résolu
merci bien
pour cette bonne réponse rapide,
mon problème est résolu
c'est vrai que je me mélange un peu avec les ' ou " ou ( etc.
merci encore