Problème d'insertion dans base de données

Problème d'insertion dans base de données - PHP - Programmation

Marsh Posté le 22-09-2005 à 18:51:48    

Bonjour,
 
 
En fait je me suis déjà tellement cassé la tête pour résoudre ce problème que je pense que je finis par manquer de lucidité.  
En ce moment je crée un site dynamique (Php/Mysql).
Je veux insérer à partir d'un formulaire ( textarea) des données dans un champ text de la base de données. Le problème c'est que lors de deux insertions différentes une insertion s'effectue sans problème tandis qu'une autre non. Au début j'ai cru que c'était à cause de certains caractères donc j'ai fait toutes les convertions des caractères spéciaux.
 
le texte qui ne passe pas ( c'est un texte que j'ai tapé )

Code :
  1. c'est cool je ne sais toujours pas pourquoi tu ne fonctionnes pas certaines fois c'est bizarre ça nonn'est pas que g raison quand je dis  que ce sont les points


 
les exemles de textes qui passent  

Code :
  1. c’est pas mal ce truc fonctionne bien médhi n’est ce pas que j’ai raison,
  2. t’es nul ïl fallait lê dire què ça marchait pas comme ça ton truc de merde enfin bref
  3. ----------------------------------
  4. é è à ô & à â ç è û é ê ë î ï ù kjkqjq dqkqd qlkdjqlnkd qdlkjdqln
  5. dqlkjqdklqnd dqlnqdlndqd kjqdjfhjkj fqjklfqd dflhqfjfq klhqdlhq qflkjfqklfqfq
  6. jkfhjflhea klhfjhfejkbfjfeza jhzjfhzefjzf zefklzfhzfzjf fzklfzjflkzef fzkfljzfezfe
  7. jhejkadjkbadjkad daazjbhdad ad adlhazdad daazkldahdad da


 
Voici le code de l'insertion dans la base

Code :
  1. if(isset($_POST['boutonCommentaire'])){
  2. if(!empty($_POST['nomPersonne']) && !empty($_POST['com'])){
  3.  $no=$_POST['nomPersonne'];
  4.  $co=$_POST['com'];
  5. //fonction permettant de remplacer les caractères spéciaux par leur code HTML  
  6.  $n=remplacerToutDans($no);
  7.  $c=remplacerToutDans($co);
  8.  $m="";
  9.  if(!empty($_POST['mailPersonne'])){
  10.   $ma=$_POST['mailPersonne'];
  11.   $m=remplacerToutDans($ma);
  12.   }
  13.  $jour=date("d/m/Y" );
  14.  $heure=date("H:i:s" );
  15.  $d=$jour.", ".$heure;
  16.  $requete="INSERT INTO commentaire(auteurCommentaire,mailCommentateur,libelleCommentaire,jour)
  17.      VALUES ('".$n."','".$m."','".$c."','".$d."')";
  18.  $result=mysql_query($requete);
  19. .......
  20. }


 
PS: C'est surement qu'une petite erreur de ma part mais je ne la vois pas..... merci de m'aider

Reply

Marsh Posté le 22-09-2005 à 18:51:48   

Reply

Marsh Posté le 22-09-2005 à 18:59:46    

essay un htmlentities()


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, 1810, Taverne « Chez Bonaparte »
Reply

Marsh Posté le 22-09-2005 à 19:12:39    

Orission a écrit :

essay un htmlentities()


 
j'ai essayé et ça ne fonctionne toujours pas...

Reply

Marsh Posté le 22-09-2005 à 19:26:28    

qu'est ce que te dis un "echo mysql_error();"  ?

Reply

Marsh Posté le 22-09-2005 à 19:35:15    

Citation :

c'est cool je ne sais toujours pas pourquoi tu ne fonctionnes pas certaines fois c'est bizarre ça nonn'est pas que g raison quand je dis  que ce sont les points
 
$requete="INSERT INTO commentaire(auteurCommentaire,mailCommentateur,libelleCommentaire,jour)
                   VALUES ('".$n."','".$m."','".$c."','".$d."')";


 
C'est sûrement un problème de guillemets.
 
Essaye mysql_real_escape_string.

Reply

Marsh Posté le 22-09-2005 à 19:39:51    

omega2 a écrit :

qu'est ce que te dis un "echo mysql_error();"  ?


il me dit erreur de syntaxe près de 'est cool ............  

Reply

Marsh Posté le 22-09-2005 à 19:45:49    

Reply

Marsh Posté le 22-09-2005 à 20:20:57    


 
justement j'y étais et now g comme erreur:
 
Erreur de syntaxe près de '\'a\',\'a\',\'c\'est cool je ne sais toujours pas pourquoi tu ne' à la ligne 1
 
pour tous les cas

Reply

Marsh Posté le 22-09-2005 à 20:41:46    

adrien971 a écrit :

justement j'y étais et now g comme erreur:
 
Erreur de syntaxe près de '\'a\',\'a\',\'c\'est cool je ne sais toujours pas pourquoi tu ne' à la ligne 1
 
pour tous les cas

:heink:  
Où tu l'as mis le mysql_real_escape_string ?
 
Essaye :

Code :
  1. $requete='INSERT INTO commentaire(auteurCommentaire,mailCommentateur,libelleCommentaire,jour)
  2. VALUES(
  3. "'.mysql_real_escape_string($n).'",
  4. "'.mysql_real_escape_string($m).'",
  5. "'.mysql_real_escape_string($c).'",
  6. "'.mysql_real_escape_string($d).'"
  7. )';

Reply

Marsh Posté le 22-09-2005 à 20:50:42    

kalex a écrit :

:heink:  
Où tu l'as mis le mysql_real_escape_string ?
 
Essaye :

Code :
  1. $requete='INSERT INTO commentaire(auteurCommentaire,mailCommentateur,libelleCommentaire,jour)
  2. VALUES(
  3. "'.mysql_real_escape_string($n).'",
  4. "'.mysql_real_escape_string($m).'",
  5. "'.mysql_real_escape_string($c).'",
  6. "'.mysql_real_escape_string($d).'"
  7. )';



 
Merci bc ca marche je l'aurai peut etre trouvé mais la lucidité n'était plus au rendez-vous..
Merci encore

Reply

Marsh Posté le 22-09-2005 à 20:50:42   

Reply

Marsh Posté le 14-11-2005 à 22:32:38    

Bonjour j'ai moi aussi le mm type de problème...
 

Reply

Marsh Posté le 14-11-2005 à 22:41:28    

Merci grace j'ai trouver la solution :)

Reply

Marsh Posté le 15-11-2005 à 00:54:47    

php.ini et les magic quotes ;)
 
Pour le sql les ' sont des apostrophes ouvrantes ;)  
Mais ça veut dire que t'utilises pas des " pour encadrer le tout ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed