phpbar.de logo

Mailinglisten-Archive

[php] MYSQL: Fehler 1267

[php] MYSQL: Fehler 1267

Stephan Beck mailing at weblifting.de
Mon Apr 24 13:55:11 CEST 2006


Lutz wrote:
> > Robert wrote:
> > > Hallo Stephan
> > >
> > > Versuche mal SELECT * FROM person WHERE LOWER( username ) =
> > > LOWER( 'username' COLLATE latin1_swedish_ci) AND PASSWORD =
> > > PASSWORD( 'password' COLLATE latin1_swedish_ci)
> >
> > Die darauf folgende Fehlerausgabe:
> > #1253 - COLLATION 'latin1_swedish_ci' is not valid for CHARACTER SET
> > 'utf8'
>
> guck mal hier:
> http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html

Was mit aber leider nicht bei meinem anfangs beschriebenen Problem hilft:
---
Fehlermeldung:
#1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='

SQL-Statement:
SELECT * FROM person WHERE LOWER( username ) = LOWER( 'username' ) AND PASSWORD = PASSWORD( 'password' )

PHP-Version: 4.3.10
MYSQL-Version: 4.1.8

Ich habe mehrere Applikationen lokal laufen.
Nun ist bei einem Login der beschriebene Fehler aufgetreten.
Allerdings funktioniert das gleiche Statemnet in einer anderen Applikation problemlos.
Beide benutzen die gleiche Datenbankinstanz und laufen auf dem gleichen Server.

Eine Eingabe des Statements in phpmyadmin 2.6.1 liefert den gleichen Fehler.

Die 2 Felder werden in beiden Tabellen als Kollation: latin1_swedish_ci angezeigt.

Auf einem anderen Server (PHP: 4.4.1, MYSQL: 4.0.23, phpmyadmin: 2.6.4) funktioniert die Abfrage im phpmyadmin, die Abfrage über meine Applikation wirft allerdings den gleichen Fehler.

Lieben Gruß,

Stephan

php::bar PHP Wiki   -   Listenarchive