Bonjour.
Je travail sur une application qui doit traiter des données multilingues. Du coup après ma connexion à une BDD, je paramètre l'encodage, des futures échanges avec la BDD, en UTF8.
Pour cela j'utilise la requêtes :
Cette requête retourne un résultat vide même quand elle s’exécute correctement. Je n'arrive donc pas, en PHP, à savoir si la requête s'est bien exécutée ou si une erreur s'est produite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8';
J'ai essayé plusieurs possibilité :
L'exécution de la requête (même fausse) ne génère pas d'erreur dans la BDD ... je ne peux donc pas utiliser "$db->connect_errno" après l'exécution de la requête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $db = new mysqli('localhost', '', '', 'maBDD'); if(!$db->connect_errno){ $res = $db->query("SET character_set_results = 'utf8' ... "); // ma requête if($res===false){echo 'failed setDBEncodage';} //la condition est toujours validé if(!$res){echo 'failed setDBEncodage';} //la condition est toujours validé }else{ $this->log_->addRow('failed DB connection');}
Existe t-il une solution pour contourner ce problème?
Merci d'avance.
Partager