Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z LOWER na nowej wersji MySQL
intol
post
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 1
Dołączył: 29.07.2003

Ostrzeżenie: (10%)
X----


Witam, ta sama procedura
  1. SELECT LOWER(nazwa_pola)
  2. FROM nazwa_tabeli
daje różne wyniki na serwerze lokalnym i zewnętrznym. Na serwerze lokalnym wszystko wydaje się być ok, zwracane dane mają postać (metoda print_r(array())):

[0]
{
[0] => 'to jest tekst'
}

natomiast to samo zapytanie na serwerze zewnętrznym zwraca następujące dane:

[0]
{
[0] => 'To jest tekst'
[LOWER(nazwa_pola)] => 'To jest tekst'
}

czyli funkcja LOWER nie przynosi oczekiwanego rezultatu. Jaki może być tego powód?

Dodam: u siebie na localhos'cie mam prawdopodobnie starszą wersję MySQL.


--------------------
Zbiór najlepszych technologicznych artykułów (programowanie, internet, linux)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
mhs
post
Post #2





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

Ostrzeżenie: (0%)
-----


Sprawdziłem na trzech różnych serwerach i u mnie wynik jest jak najbardziej prawidłowy:

Kod
mysql> SELECT VERSION();
+------------+
| VERSION()  |
+------------+
| 4.1.12a-nt |
+------------+
1 row in set (0.03 sec)

mysql> SELECT LOWER('ASDFasdfASDF');
+-----------------------+
| LOWER('ASDFasdfASDF') |
+-----------------------+
| asdfasdfasdf          |
+-----------------------+
1 row in set (0.02 sec)



Kod
mysql> SELECT VERSION();
+-----------------+
| VERSION()       |
+-----------------+
| 4.1.11-standard |
+-----------------+
1 row in set (0.01 sec)

mysql> SELECT LOWER('ASDFasdfASDF');
+-----------------------+
| LOWER('ASDFasdfASDF') |
+-----------------------+
| asdfasdfasdf          |
+-----------------------+
1 row in set (0.00 sec)



Kod
mysql> SELECT VERSION();
+-----------------+
| VERSION()       |
+-----------------+
| 4.0.25-standard |
+-----------------+
1 row in set (0.05 sec)

mysql> SELECT LOWER('ASDFasdfASDF');
+-----------------------+
| LOWER('ASDFasdfASDF') |
+-----------------------+
| asdfasdfasdf          |
+-----------------------+
1 row in set (0.03 sec)


Sprawdź dokładnie jaką masz wersję MySQL'a, poszukaj może gdzieś masz błędy.
Go to the top of the page
+Quote Post
Sh4dow
post
Post #3





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Kod
mysql> SELECT VERSION();
+-----------------+
| VERSION()       |
+-----------------+
| 5.0.16-standard |
+-----------------+
1 row in set (0.25 sec)

mysql> SELECT LOWER('ASJHhjjhAJ');
+---------------------+
| LOWER('ASJHhjjhAJ') |
+---------------------+
| asjhhjjhaj          |
+---------------------+
1 row in set (0.02 sec)


nowsza wersja tez dziala poprawnie


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post
intol
post
Post #4





Grupa: Zarejestrowani
Postów: 110
Pomógł: 1
Dołączył: 29.07.2003

Ostrzeżenie: (10%)
X----


Ok, u mnie też to działa poprawinie. Problem pojawia się właśnie, gdy wyciągam dane z konkretnych pol:

  1. SELECT LOWER(pole)
  2. FROM tabela


Wynik wtedy wygląda mniej więcej tak:

Array
(
[0] => <img src='picture.jpg' alt=''> Tekst z DUŻYMi literami
[LOWER(pole)] => <img src='picture.jpg' alt=''> Tekst z DUŻYMi literami
)

Może coś takiego jak kodowanie bazy, lub język na której pracuje tabela ma z tym coś wspólnego?

Ten post edytował intol 18.12.2005, 16:21:25


--------------------
Zbiór najlepszych technologicznych artykułów (programowanie, internet, linux)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 07:33