Problème d'insertion
0z0z
Messages postés
108
Date d'inscription
Statut
Membre
Dernière intervention
-
0z0z Messages postés 108 Date d'inscription Statut Membre Dernière intervention -
0z0z Messages postés 108 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je travaille sur un site internet et j'ai un problème d'insertion dans ma base de données.
Enfaite je récupère les valeurs d'une table pour les mettre dans une autre table. Mais si le champs contient un apostrophe, ca "coupe" la requête en quelque sorte.
J'ai entendu parlé de la fonction mysql_real_escape_string() mais je ne sais pas trop comment l'utiliser.
Voilà mon insertion :
Je travaille sur un site internet et j'ai un problème d'insertion dans ma base de données.
Enfaite je récupère les valeurs d'une table pour les mettre dans une autre table. Mais si le champs contient un apostrophe, ca "coupe" la requête en quelque sorte.
J'ai entendu parlé de la fonction mysql_real_escape_string() mais je ne sais pas trop comment l'utiliser.
Voilà mon insertion :
$query="INSERT INTO catalogues_commandes (".implode(", ",$champs).") VALUES ('".implode("', '",$valeurs)."');"; sql_query($query); $ref_avoir=mysql_insert_id();
A voir également:
- Problème d'insertion
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
2 réponses
1) essaie de protéger tes nom de tables avec des``
2) fait le implode avant et ajoute le résultat ca t'évitera de t'emmener dans la concaténation
2) fait le implode avant et ajoute le résultat ca t'évitera de t'emmener dans la concaténation
Juste avant l'insertion j'ai : $valeurs=array_map("mysql_real_escape_string",$valeurs);
Mais ca n'a pas l'air de marcher.
Sinon je récupère mes noms de tables de cette façon :
Alors comment protéger le nom des tables ?
Mais ca n'a pas l'air de marcher.
Sinon je récupère mes noms de tables de cette façon :
$query="SELECT * FROM catalogues_commandes WHERE numero_piece=$numero_piece"; $tab_facture=valeur_requete($query,2); //valeur_requete permet de récupérer la contenu de la requête $ref_facture=$tab_facture['ref']; $ref_parent=$tab_facture['ref_parent']; //print_pre($tab_facture);exit; //print_pre ($tab_commande);exit; $champs=array(); $valeurs=array(); foreach($tab_facture as $champ=>$valeur) { $champs[$champ]=$champ; $valeurs[$champ]=$valeur; }
Alors comment protéger le nom des tables ?