Aller au menu - Aller au contenu
Inscris-toi au e-camp "Héberge ton jeu Facebook sur Azure" de Microsoft vendredi 25 mai à 13h30 !

Problème lecture TABLE SQL, valeur de requête avec accents

Pour accéder à cette section
Connectez-vous !
connexion_rpx

Offre d'emploi : Développeur Web PHP/Drupal (H/F)

Page 1 
Auteur Message
1 visiteur sur ce sujet (1 Anonyme)
Page 1 
Hors ligne Soundboy39 # Posté le 06/12/2011 à 16:35:54
Avatar

Ville : Dole
Pays : France métropolitaine

Bien voilà mon souci !!!

Lorsque je fais une lecture dans une table SQL par le biais
d'une requête préparée, si la valeur utilisée pour faire la requête comporte
des accents, soit le retour est vide soit il est plein de beug...
je vous laisse découvrir le code :

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
<?php
try
	{
	include('includes/pdo.php');

		$req = $bdd->prepare('SELECT id FROM p1_categories WHERE title = ? ');
		$req->execute(array($catego));
		
		while ($donnees = $req->fetch())
		{
			$catid = $donnees['id'];		
		}	
		$req->closeCursor();
	}
	catch(Exception $e)
	{ die('Erreur : '.$e->getMessage()); }
	
	print $catid;

?>


Donc en fait le but est de sélectionner l'ID d'une catégorie en fonction de son nom,
et de la réinjecter dans une variable nommée $catid...
le truc vraiment tout c.. quoi ! :euh:

Le nom de la catégorie est définie par $catego, qui lui est défini par
une variable de type $_GET['nom'].

Jusqu'ici tout va bien, sauf que lorsque par exemple si le nom de la catégorie
est Divers, ça va marcher, mais si c'est Églises, ça ne vas pas marcher, je pense
que c'est à cause de l'accent,

mais bizarrement si je ne passe pas par $_GET[], et que je nomme $catego à la main,
sa fonctionne bien,...
mais il y a aussi le fait que si je fais directement "print $catego;" le nom de la catégorie
va bien s'afficher...

alors d'où vient le problème selon vous ??

Merci pour votre aide.

 
Publicité # Posté le 06/12/2011 à 16:35:54

Connecté Taguan # Posté le 06/12/2011 à 16:38:58
Auto-quote Powaaa
Avatar
Groupe : Auteurs
Flux RSS

Ville : Bruxelles
Pays : Belgique

Pourquoi tu ne mets pas directement l'id de la categorie dans ta variable $_GET ??? Plutôt qu'un nom...
Édité le 06/12/2011 à 16:41:50 par Taguan

!!! Attention, ceci est ma signature, pas une réponse à votre post !!!
Mon tutoriel : SQL avec MySQL
 
Hors ligne Soundboy39 # Posté le 06/12/2011 à 16:53:05
Avatar

Ville : Dole
Pays : France métropolitaine

Ah oui merci Taguan je n'y avait pas pensé,

en fait comme le GET est renvoyé par un Ajax dont la valeur
est déterminée par l'ID d'un sélecteur je me suis focalisé sur le "nom".

Bon c'est cool ça marche, mais c'est un contournement du problème,
je vais laissé le sujet non résolu pour savoir
si d'autres personnes ont un avis sur ce problème de
problème lecture TABLE SQL avec valeur de requête avec accents.
 
Connecté Taguan # Posté le 06/12/2011 à 16:56:19
Auto-quote Powaaa
Avatar
Groupe : Auteurs
Flux RSS

Ville : Bruxelles
Pays : Belgique

Essaye en passant le nom avec urlencode() dans l'url, puis en utilisant urldecode() pour le récupérer.

!!! Attention, ceci est ma signature, pas une réponse à votre post !!!
Mon tutoriel : SQL avec MySQL
 
Hors ligne Soundboy39 # Posté le 08/02/2012 à 18:27:07
Avatar

Ville : Dole
Pays : France métropolitaine

hello !!

Je relance ce sujet car toujours pas de réponse à mon problème,
je fais une requete SQL pour rechercher une info à partir
d'une chaine de texte contenant des accents,

Exemple :
Code : SQL
1
2
$req = $bdd->prepare('SELECT id FROM jeux_video WHERE possesseur = ? ');
$req->execute(array($_GET['possesseur']));



Si le possesseur = Jack ou Marcel -> ça fonctionne;
Si le possesseur = Mickaël ou Éloise OU Mélina ça ne fonctionne pas...

Sachant que TOUT est en utf8, le document et la BDD MySQL...

Alors quelle est donc la solution ??
 
Hors ligne Soundboy39 # Posté le 09/02/2012 à 20:54:01
Avatar

Ville : Dole
Pays : France métropolitaine

Personne n'a de solution à ce problème ??
 
Connecté Taguan # Posté le 09/02/2012 à 20:58:56
Auto-quote Powaaa
Avatar
Groupe : Auteurs
Flux RSS

Ville : Bruxelles
Pays : Belgique

Citation : Taguan
Essaye en passant le nom avec urlencode() dans l'url, puis en utilisant urldecode() pour le récupérer.


T'as essayé ?

!!! Attention, ceci est ma signature, pas une réponse à votre post !!!
Mon tutoriel : SQL avec MySQL
 

Retour au forum "PHP" ou à la liste des forums

Pour accéder à cette section
Connectez-vous !
connexion_rpx