Page 1 sur 1

Message d'erreu SQL.

Posté : 27 avr. 2013, 20:33
par Jeunesapeur47
Bonjour à tous,

Je suis aujourd'hui face à un problème qui me turlupine et qui m'énerve.

J'ai du il y a quelques jours changer d'hébergeur (beaucoup de bug de connexion), sur celui ci mon code marchais très bien, mais sur le nouveau, problème...

Donc, je possède ce code :
<?php
try
{
    // On se connecte à MySQL
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO(MES ID);
    
    $reponse = $bdd->query('SELECT * FROM departs_type WHERE nature = "'.$_POST['type_inter'].'" ');
    
    while ($row = $reponse->fetch())
    {
    ?>
<?php echo $row['moyens']; ?>
    <?php
    }
    
    $reponse->closeCursor(); // Termine le traitement de la requête

}
catch(Exception $e)
{
    // En cas d'erreur pr&eacute;c&eacute;demment, on affiche un message et on arrête tout
    die('Erreur : '.$e->getMessage());
}


?>
Seul problème, quand j'envoie une nature contenant un : é, ', / ou autre, ce message s'afficher :

Code : Tout sélectionner

Erreur : SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_unicode_ci,COERCIBLE) for operation '='
Je ne vois pas du tout d’où provient le problème, pourriez vous m'aider ?

Cordialement, Jeunesapeur47.

Re: Message d'erreu SQL.

Posté : 27 avr. 2013, 21:32
par benv8nam
Vérifie l'encodage de ta base, elle doit être différente de ton ancienne.

Re: Message d'erreu SQL.

Posté : 27 avr. 2013, 22:15
par Jeunesapeur47
Déjà vérifier et modifier cet aprèm, mais toujours pareil.....

Re: Message d'erreu SQL.

Posté : 28 avr. 2013, 10:44
par moogli
salut


peux tu être plus explicite sur ce que tu as vérifié ?

Le message est clair tu essais de mettre de l'utf-8 dans une colonne latin1_swedish_ci (ou l'inverse).
Il faut donc vérifier l'encodage au niveau de la base, mais aussi au niveau de la table ET de la colonne.

ensuite si ton site est en iso ajoute un utf8_decode, si c'est l'inverse utilise une utf8_encode.

as tu affiché la requête avec le message d'erreur ?

@+

Re: Message d'erreu SQL.

Posté : 28 avr. 2013, 12:39
par Jeunesapeur47
C'est bon, problème résolu, j'ai mis tout mes champs en utf_8 unicode.

Merci ! :)