petite question toute bête: c'est bien le même fichier que tu mets à jour? car moi ca m'est arrivé de plancher là dessus pendant des heures alors que c t pas le bon...affiche un tit texte en plus pur vérifier que c bien le bon...Ma requete générée sans le addslashes, c'est extactement la mê qu'avec.
SELECT DISTINCT id_service FROM phpgw_workf_services WHERE nom_service = 'CONCESSION de DISTRIBUTION PUBLIQUE d'
Ca bloque au '
$service = "CONCESSION de DISTRIBUTION PUBLIQUE d\'argent";
echo $service."<br>";
echo "SELECT DISTINCT id_service FROM phpgw_workf_services WHERE nom_service = '".$service."'";
$service = "CONCESSION de DISTRIBUTION PUBLIQUE d\\'argent";
Y'a 2 \ en tout (qui n'en feront plus qu'un dans la chaine en memoire) pour proteger le ' dans la requete SQLCode : Tout sélectionner
string mysql_real_escape_string ( string unescaped_string [, resource link_identifier])
mysql_real_escape_string() protège les caractères spéciaux de la chaîne unescaped_string, en prenant en compte le jeu de caractères courant. Le résultat peut être utilisé sans problème avec la fonction mysql_query().
Note : mysql_real_escape_string() ne remplace ni %, ni _.
[...]
Voir aussi mysql_escape_string() et mysql_character_set_name().justement non, \\ revient à nulnote : j'ai pas lu les deux pages : j'ai pas le courage
Correction :Y'a 2 \ en tout (qui n'en feront plus qu'un dans la chaine en memoire) pour proteger le ' dans la requete SQL$service = "CONCESSION de DISTRIBUTION PUBLIQUE d\\'argent";
str_replace("'", "''", $requete); et on aura la paix, mais faudra faire l'opération inverse pour l'affichage.donc au final c'est tjr autant le bazarNote : en option, en SQL (y compris avec MySQL), on peut échapper une apostrophe en la doublant, donc, si on veut pas utiliser addslashes, on peut faire unet on aura la paix, mais faudra faire l'opération inverse pour l'affichage.str_replace("'", "''", $requete);
$service =$_POST['nom_service'];
if(get_magic_quotes_gpc())
$service=stripslashes($service);
}
$service=mysql_real_escape_string($service);
$s = "SELECT DISTINCT id_service FROM phpgw_workf_services WHERE nom_service = '$service'";
$results = mysql_query($s);
$ser=mysql_fetch_array($results, MYSQL_ASSOC);
$idservice=$ser['id_service'];