[PHP] Insertion BDD, apostrophe

Insertion BDD, apostrophe [PHP] - Programmation

Marsh Posté le 12-07-2001 à 16:24:42    

Je fait une requète d'insertion dans une BDD Oracle:
 
$querycentre="insert into POLYGONE_BRE values('".$polygone."','".$nompolygone."');Le problème c'est qu'il y a des apostrophes des fois dans la variable $nompolygone. Du coup cela donne:
 
insert into BRETAGNE values('22305','SAINT-JOUAN-DE-L'ISLE');
et oracle il aime pas ça. Comment faire pour lui dire d'ignorer les apostrophes de la variable?

Reply

Marsh Posté le 12-07-2001 à 16:24:42   

Reply

Marsh Posté le 12-07-2001 à 16:26:36    

il suffit de doubler les apostrophes.
ca te donnera donc :
insert into BRETAGNE values('22305','SAINT-JOUAN-DE-L''ISLE');

Reply

Marsh Posté le 12-07-2001 à 16:32:50    

Comment faire, je sais pas à l'avance s'il y en a?

Reply

Marsh Posté le 12-07-2001 à 16:52:02    

Arfffffff..
 
str_replace("'", "''", $toto);


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 12-07-2001 à 17:22:31    

avec ton str_replace Mara's dad, ça enlève l'apostrophe or je veut qu'il soit inséré dans la BDD.  
J'ai trouvé, il y a une fonction exprès : addslashes($var).
Merci

Reply

Marsh Posté le 12-07-2001 à 17:31:06    

ERREUR !  
dans la doc, cette fonction est définie comme étant faite exprès pour le pbr des ' lors des insertions dans les BDD et là la fonction rajoute bien \ devant mais ça ne plaît toujours pas à Oracle?
Quelqu'un a une idée?

Reply

Marsh Posté le 12-07-2001 à 17:33:38    

last resort : $texte = str_replace("'", "& # 39 ;", $texte);
 
sans les espaces entre & # 39 ;  
 
si ça ne marche pas, tire-toi une balle :D

Reply

Marsh Posté le 12-07-2001 à 17:41:24    

Désolé, Mara's Dad, je m'incline, tu avais tout à fait raison.
C'est bien le double apostrophe pour Oracle, j'avais pas bien vu, je croyais que tu remplaçais ' par vide.
Merci beaucoup encore une  fois!

Reply

Sujets relatifs:

Leave a Replay

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