insertion base de donnée de addslashes

JS
Invité n'ayant pas de compte PHPfrance

01 juin 2006, 16:37

Salut a tous!
Voila j'insere du text dans ma base de via un champs textarea et malgres le fait que je le protege avec un addslashes il y a toujours un bug
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver]
Ligne 1 : syntaxe incorrecte vers 'idée'., SQL state 37000 in SQLExecDirect in d:\www\Risk_v01\formulaire\scriptinsert.inc.php on line 153
Erreuractionplan37000USE DataBaseRisk INSERT INTO Risk_2005_cnx.[actionplan](numfiche,responsable,descr,state,comments,dateendini,dateendcurr) values ('335','P. Barstow','Faire accepter l'idée à SEMPO puis proposer un avenant','Identified','','20050630','20050930')
[/quote]
Dans mon php.ini
magic_quotes_gpc = Off

et même quand je le mais a On (sans utiliser addslashes) sa ne marche pas non plus  :( 

Help me please!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

01 juin 2006, 16:45

bah dans la requête qu'il exécute, ton addslash semble pas avoir été pris en compte, d'où le message d'erreur :
(numfiche,responsable,descr,state,comments,dateendini,dateendcurr) values ('335','P. Barstow','Faire accepter l'idée à SEMPO puis proposer un avenant','Identified','','20050630','20050930')
Sous sqlserveur faut pas les doubler les apostrophes pour les proteger ? (comme sous oracle ?)

JS
Invité n'ayant pas de compte PHPfrance

02 juin 2006, 10:10

Arf dsl!
Ct le message d'erreur sans le addslashes()
Mais il me fait pareil avec.
Sous sqlserveur faut pas les doubler les apostrophes pour les proteger ? (comme sous oracle ?)
Comment fait t'on pour les doubler?
Merci

JS
Invité n'ayant pas de compte PHPfrance

02 juin 2006, 14:54

Ya personne qui connaitrait une fonction pour doubler les apostrophes?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

02 juin 2006, 15:07

Une fonction du genre str_replace() à qui tu demandes de remplace les apostropges (') par deux apostrophes ('') dans ta requête sql ? :)

JS
Invité n'ayant pas de compte PHPfrance

02 juin 2006, 15:09

Ouais c'est que je fesait mais sa marche pas!
function addquote($string)
{
	str_replace("'","papa",$string);
	return $string;
}

$text = "Youpi l'école est fini!!";
$text = addquote($text);
:(

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

02 juin 2006, 15:15

la fonction str_replace ne met pas à jour la variable passée en argument, elle retourne seulement la valeur modifiée :
function addquote($string) 
{ 
    $string = str_replace("'","papa",$string); 
    return $string; 
// ou directement
//    return str_replace("'","papa",$string); 
} 

$text = "Youpi l'école est fini!!"; 
$text = addquote($text); 
;)

JS
Invité n'ayant pas de compte PHPfrance

02 juin 2006, 15:20

Lol je l'oublie toujours ça je sais pas pk!! :D
Merci!! :wink:

JS
Invité n'ayant pas de compte PHPfrance

02 juin 2006, 15:53

RESOLU!!!
:!: Super merci ryle!! :wink: