Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Hello.
Une authentication avec comme adapter :
[lang=php] new \Zend\Authentication\Adapter\DbTable( new Adapter($conf['db'], null), 'user', 'usr_email', 'usr_pwd', 'SHA1(CONCAT(usr_salt,?,\'' . User::SALT . '\'))')
La connexion de l'utilisateur marche nickel sur ma machine, mais plante sur une autre. Message d'erreur :
"The supplied parameters to DbTable failed to produce a valid sql statement, please check table and column names for validity."
Après recherche et test direct de commandes sql dans la base, il se trouve que j'ai déclaré les colonne usr_pwd et usr_salt en collation latin1_bin (ce qui est somme toute assez logique vu leur contenu).
Et donc l'erreur (erreur SQL) vient de ce que la requête sql générée par l'adapter de ZF2 ne peut pas mélanger du latin1_bin (usr_salt, usr_pwd) et de l'utf8 (User::SALT et le mot de passe entré par l'utilisateur)
J'ai donc du mettre les latin1_bin en utf8.
Mais bon, le truc, c'est pourquoi ça fonctionne sur ma machine et pas sur l'autre... (même distrib, même install, j'ai installé les deux machines) ?
Bon ben sinon le plus important : bonnes vacances !
Hors ligne