Probleme avec INSERT INTO

Résolu
Prodige3310 Messages postés 5 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 17 juillet 2009 - 17 juil. 2009 à 13:10
Prodige3310 Messages postés 5 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 17 juillet 2009 - 17 juil. 2009 à 13:44
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

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
17 juil. 2009 à 13:17
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.
3
Prodige3310 Messages postés 5 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 17 juillet 2009
17 juil. 2009 à 13:32
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
0
Prodige3310 Messages postés 5 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 17 juillet 2009
17 juil. 2009 à 13:44
finalement j'ai utiliser la fonction mysql_real_escape_string pour ajouter dans ma table et stripslashes() pour visualiser le résultat.
merci nhervagault :-)
0
Rejoignez-nous