Type
Résolu
Sony
-
Marco la baraque Messages postés 1030 Statut Contributeur -
Marco la baraque Messages postés 1030 Statut Contributeur -
Bonjour,
Voila mon problème :
j'ai une table avec comme clé primaire un champ ID de type uniqueidentifier et j'aimerais exécuter la requête suivante:
$id=$_REQUEST["id_client"];
$res=mssql_query("select Contact_Name from contact where ID='$id' order by Contact_Name;");
la variable $id récupère la clé primaire ID de type uniqueidentifier;
Lorsque je lance ce script le message d'erreur suivant s'affiche :
Warning: mssql_query() [function.mssql-query]: message: Échec de la conversion d'une chaîne de caractères en uniqueidentifier.
En revanche lorsque que je remplace la variable directement par une valeur de l'ID tel que : 928D7F36-9A31-42FC-98CF-00AEC2FE665C tous marche bien :
$res=mssql_query("select Contact_Name from contact where ID='928D7F36-9A31-42FC-98CF-00AEC2FE665C' order by Contact_Name;");
- Dois-je effectuer une conversion de la variables $id avant de l'utiliser dans la requête ?
- Avez vous une solution a mon problème ?
Merci.
Voila mon problème :
j'ai une table avec comme clé primaire un champ ID de type uniqueidentifier et j'aimerais exécuter la requête suivante:
$id=$_REQUEST["id_client"];
$res=mssql_query("select Contact_Name from contact where ID='$id' order by Contact_Name;");
la variable $id récupère la clé primaire ID de type uniqueidentifier;
Lorsque je lance ce script le message d'erreur suivant s'affiche :
Warning: mssql_query() [function.mssql-query]: message: Échec de la conversion d'une chaîne de caractères en uniqueidentifier.
En revanche lorsque que je remplace la variable directement par une valeur de l'ID tel que : 928D7F36-9A31-42FC-98CF-00AEC2FE665C tous marche bien :
$res=mssql_query("select Contact_Name from contact where ID='928D7F36-9A31-42FC-98CF-00AEC2FE665C' order by Contact_Name;");
- Dois-je effectuer une conversion de la variables $id avant de l'utiliser dans la requête ?
- Avez vous une solution a mon problème ?
Merci.
A voir également:
- Type
- Clear type - Guide
- Type de ram - Guide
- Comment changer le type de fichier - Guide
- Click-n-type - Télécharger - Vie quotidienne
- Chat type coco - Accueil - Réseaux sociaux
$res=mssql_query("select Contact_Name from contact where ID='".echo $id. "' order by Contact_Name;");
mais le problème du type uniqueidentifier c'est que l'affichage (echo $id) de la variable renvoie une chaine incohérente du type : Ó_&â91òH¦0˜xçû6p
c'est pourquoi j'avais penser a une conversion mais a vrai dire j'en est aucune idée xD
Ca aurait été
$res=mssql_query("select Contact_Name from contact where ID='".$id. "' order by Contact_Name;"); plutôt...
Pour ton problème, c'est parce qu'il ne faut pas utiliser $_REQUEST, mais $_POST ou $_GET (ça dépend de la méthode d'envoi de ton formulaire, à configurer en html).
Cordialement,
L'utilisation de $_POST ( en accord avec mon formulaire) ne change rien, toujours la même erreur qui s'affiche :
Warning: mssql_query() [function.mssql-query]: message: Échec de la conversion d'une chaîne de caractères en uniqueidentifier.
en faite il fallait convertir le type uniqueidentifier en chaine de caractère et pour cela une fonction spécifique a sql server existe, il s'agit de la fonction mssql_guid_string()
pour mon exemple cela donne :
$id=$_POST["id_client"];
$str_id=mssql_guid_string($id);
$res=mssql_query("select Contact_Name from contact where ID='$str_id' order by Contact_Name;");
Voila pour les prochains qui aurait des problèmes ;)
J'ai tout de même du mal à comprendre pourquoi une chaîne dans ta request est de type uniqueidentifier...
Enfin, le problème est résolu !
Cordialement,