Insérer ' dans une BDD

Résolu
zelos666 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   -  
zelos666 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je veux insérer plusieurs champs dans une base de donnée. Les champs contiennent des informations insérer pas un usager. Le problème, c'Est que lorsqu'on écrit dans un des champs une apostrophe « ' », mon insertion ne se fera pas car l'apostrophe va être vu comme étant la fin de l'insertion

Mon code d'insertion :
$query = "INSERT INTO $tableAnnonce(
			idUser,
			idType,
			entreprise,
			titre,
			debutParution,
			finParution,
			idTypeOrganisation,
			resume,
			details,
			contact,
			coordonnees
			)
			VALUES(
			".$idUser.", ".$idTypeAnnonce.", '".$this->clearTxt($entreprise)."', '".$this->clearTxt($titre)."', '".$debutParution."', '".$finParution."', '".$idTypeOrganisation."', '".$this->clearTxt($resume)."', '".$this->clearTxt($detail)."', '".$this->clearTxt($nomContact)."', '".$this->clearTxt($coordonnees)."');";
			
		mysql_query($query);


Ma fonction clearTxt :

public function clearTxt($string){
		$string = addslashes($string);
		return $string;
	}


Ma fonction clearTxt ajout un backslashe dès qu'il détecte une apostrophe. Pourtant, il ajout très bien mes backslash. J'ai aussi essayer avec mysql_real_escape_string, mais cela ne fonctionne pas plus.

J'ai mis les clearTxt aux chmpas qui ont des chances d'avoir des apostrophes. Si, par exemple, un usager insère un apostrophe dans le champs date, j'écrit un message d'erreur.

4 réponses

zelos666 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   12
 
up
0
zelos666 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   12
 
up
0
william7007 Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   46
 
slt

avant d'ajout dans la bdd, fait des test sur tes champs du genre

addslashes($mon_champ);
0
zelos666 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   12
 
J'ai fait les test et sa ne marche pas non plus, pourtant ils insère très bien les \ avant les caractères spéciaux telle que les apostrophe.

Par contre, j'ai eu une idée, je pourrais essayer de crypter ou quelque chose dans se genre mon string pour insérer. J'ai essayer avec rawurlencode. Sa ne marche pas non plus donc si vous avez une idée, se sera très apprécié.

Merci.

<edit>
Finalement, en retirant les clearTxt et les addslashes, l'insertion se faisait comme voulu. Je crois que j'avais pas besoin de me compliquer la vie avec les apostrophes.

Merci.
</edit>
0