Les Allergies
Alimentaires
Posez votre question Signaler

MySQL: chaines de char, apostrophes et BD

tonguim - Dernière réponse le 27 mai 2010 à 10:35
Bonjour,

je ne peux pas inserer dans ma table, des chaînes de caracteres qui contiennent des apostrophes. Exemple de chaine de caractère que je ne peux insérer: l'actualité sur le site web de l'uo.
Comment puis je résoudre ce problème? Merci

NB: j'utilise PHP pour l'insertion des données dans la table. Voici ma requête:

		<?php
			$connection=mysql_connect("localhost", "root", "");
			if($connection)
			{
				$bd=mysql_select_db("sitewuo");
				if($bd)
				{	
					//$date=date("Y-n-d H:i:s");
					$requete="insert into articles values ('', '$_POST[rubrique]', '$_POST[titre]', '$_POST[resume]', '$_POST[corps]', null)";
					mysql_query($requete) or die(mysql_error());
				}
				else
					die (mysql_error());
			}
			else
				die (mysql_error());
		?>


// ma table mySql


CREATE TABLE `articles` (
`numero` VARCHAR( 5 ) NOT NULL ,
`titre` VARCHAR( 255 ) NOT NULL ,
`resume` TEXT NOT NULL ,
`corps` TEXT NOT NULL ,
`date` timestamp( 14) NOT NULL ,
PRIMARY KEY ( `numero` )
);


J'ai pensé, a mettre des caracteres d'échappement, mais les textes que je dois stocker dans la table s'étendent sur des dizaines de lignes. Alors mettre des \' a chaque fois que je rencontre des apostrophes, ce n'est pas du tout pratique. Il doit y avoir bien un autre moyen, non?
Lire la suite 

MySQL: chaines de char, apostrophes et BD »

6 réponses
Réponse
+0
moins plus
Le sujet exact de mon message est plutôt: chaines de caractères avec apostrophes, et Base de Données MySQL
Ajouter un commentaire
Réponse
+0
moins plus
Essaie ca :
$requete="insert into articles values ('', '".$_POST[rubrique]."', '".$_POST[titre]."', '".$_POST[resume]."', '".$_POST[corps]."', null)";

On ne peut pas mettre des variables de type array entre guillemets.
Il faut en sortir. C'est dommage, mais c'est comme ca.
Erdnax- 22 sept. 2005 à 15:28
T'es sûr que ça vaut aussi pour les doubles guillemets ?

L'erreur vient pas plutôt de ses $_POST[rubrique] qui n'ont pas eux de ' ? Par exemple :
$_POST['rubrique']
Et sinon, pour mettre des caractères d'échapement à tes textes, s'ils sont rentrés par des formulaires, tu peux utiliser la fonction addslashes qui fera ça pour toi ;)
StreM- 22 sept. 2005 à 17:15
Ah oui, aussi !
Enfin perso, il me semble que
echo "tralala $_POST['var'] youpie"; 
renvoie une erreur
Ajouter un commentaire
Réponse
+0
moins plus
Merci à strem et erdnax. J'ai resolu le problème des apostrophes en utilisant la fonction addslashes de php et ca marche.

si $texte = "Un exemple d'utilisation de l'apostrophe";

alors $texte = addslashes($texte) retournera "Un exemple de l\\'utilisation de l\\'apostrophe" ...
kleyde89- 27 mai 2010 à 10:35
bonjour,

j'ai le meme probleme que toi avec les apostrophes
la fonction addslashes tu l'utilise a quel moment?

juste apres la definition de ta requete?
Ajouter un commentaire
Ce document intitulé « MySQL: chaines de char, apostrophes et BD » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?