Probleme avec INSERT INTO

[Résolu]
Signaler
Messages postés
5
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
17 juillet 2009
-
Messages postés
5
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
17 juillet 2009
-
bonjour,
j'essaye d'ajouter des données dans ma base de donnée mysql, le probleme c'est que pour des données ca marche et pour d'autre ca marche pas.

// je commence par recuperer les données d'une autre table.
$nature=mysql_query("SELECT DR FROM budget WHERE ART='$ART' AND doll='$dol' AND lig='$lig' ");
$nature_operation=mysql_fetch_array($nature);
$DR=$nature_operation['DR'];

//après j'insert dans la nouvelle table désirer.
mysql_query("INSERT INTO beneficiaire VALUES('','$Beneficiaire','$domicile','$compte','$date_creation','$ART','$dol','$lig','$DR','$date','0')");

ça marche pour certain données récupérer de la table budget, et ca marche pas pour d'autre données.
j'arrive pas a trouver l'erreur, surtout que j'ai fais un echo entre les deux opérations pour vérifier le contenu et ca l'air correct.
j'avoue que je suis perdu, si quelqu'un a une idée SVP ...merci

P.S: les données c'est du texte.

3 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
36
Salut,

Peux-être du à des erreurs SQL genre :
* Erreur de conversion exemple le '0' à la place de 0
* Erreur sur les chaine de caractere si tu insere un apostrohe il faut le doubler
* Erreur sur l'insertion d'un champ automatique

Il est préférable d'utiliser de nommer toutes les colonnes dans l'ordre insert et ne pas mettre le numero auto.

Prend ta chaine de caractère et mets la dans une variable et exemple le contenu de cette variable directement sur la base de données.
Messages postés
5
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
17 juillet 2009

je crois trouver le problèmes,
c'est l'apostrophe !! toutes les chaines de caractères qui ont un apostrophe ne s'ajoute pas dans ma base.
je peux savoir comment remédier a ce problème, sachant que les chaines sont stocké dans une autre table, je vois pas comment faire doubler l'apostrophe
Messages postés
5
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
17 juillet 2009

finalement j'ai utiliser la fonction mysql_real_escape_string pour ajouter dans ma table et stripslashes() pour visualiser le résultat.
merci nhervagault :-)