Bonjour,

J'ai un souci avec des valeurs d'un SET comportants des apostrophes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
set('hotel', 'gite', 'chambres d\'hotes', 'location meublée', 'gite d\'étape')
rentré tel quel (phpmyadmin 2.6.1 mysql 4.1.9), devient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
SHOW COLUMNS FROM tbl_hebergement LIKE "type" =>
set('hotel','gite','chambres d''hotes','location meublée','gite d''étape')
l'apostrophe est doublée (?) et en consequence quand je veux fixer les valeurs de ce champ pour la ligne correspondante, MySql me rejette les valeurs "chambres d''hotes" ou "gite d''etape, puisqu'elle ne correspondent pas aux valeurs fixées pour la colonne.
un traitement via php n'arrange pas les choses :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
//modification des valeurs de la colonne SET   
$alter = "ALTER TABLE tbl_hebergement CHANGE type type SET(\"hotel\",\"gite\",\"chambres d'hotes\",\"location meublée\",\"gite d'étape\") NOT NULL";
mysql_query($alter,$link) or die ('Erreur : '.mysql_error() );
// je recupere les valeurs du SET
   $select = 'SHOW COLUMNS FROM tbl_hebergement LIKE "type"';
   $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
if($total)   {
$row = mysql_fetch_array($result);
//affichage
print_r($row);
}
renvoi les 2 apostrophes sur les valeurs , et les double quotes deviennent des apostrophes ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Array ( [0] => type [Field] => type [1] => set('hotel','gite','chambres d''hotes','location meublée','gite d''étape') [Type] => set('hotel','gite','chambres d''hotes','location meublée','gite d''étape') [2] => [Null] => [3] => [Key] => [4] => [Default] => [5] => [Extra] => )
ou est le truc SVP ? comment empecher l'apparition de la quote superflue ?
j'ai posté dans le forum php hier mais je pense que ca concerne plutot mySql
merci d'avance