Liste des articles pour le tag : MySql

postheadericon Doctrine - cohérence du charset

Sur un projet professionnel, j'ai été confronté à deux erreurs qui m'ont donné beaucoup de fil à retordre et je souhaite, ici, faire un retour d'expérience à ce sujet.

Contexte

Il s'agit d'un environnement ZendFramework couplé à Doctrine.
Plus précisément, on se trouve dans un service ZendAmf.
Le service en question expose une méthode permettant de changer son mot de passe.
Pour changer le mot de passe, j'utilise le code suivant :

$user = Doctrine::getTable('User')->findOneByEmail($email);
$user->password = $newPassword;
$user->save();

Et là, c'est le drame : le serveur MySQL me renvoi l'erreur suivante :
SQLSTATE[HY000]: General error: 2006 MySQL server has gone away

Lire la suite...

postheadericon MySQL : modification de l'encodage de la connexion

Il arrive malheureusement trop souvent que l'on doive traiter avec des bases de données qui ne sont pas encodées en UTF8.
Et lorsque l'on souhaite récupérer les données, on se retrouve avec plein de caractères bizarres comme : é en lieu et place des caractères accentués (é dans le cas présent).

Un remède consiste à modifier l'encodage de la connexion au serveur MySql :

SET NAMES 'latin1';

Lire la suite...

postheadericon MySQL InnoDB FOREIGN KEY CHECK

Afin d'effacer rapidement les donnée d'une base InnoDB sans se soucier des clef étrangères on pourra utiliser :

SET FOREIGN_KEY_CHECKS = 0;