Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie rozumiem dlaczego nie działa zapytanie
Forum PHP.pl > Forum > Bazy danych > MySQL
Civil
Witam,
Baza danych MySQL - 4.1.21-log nie realizuje mi z nie wiadomo jakich przyczyn najprostszego zapytania: mam cos takiego

numer varchar(10) latin2_general_ci Nie Przeglądaj różne wartości Zmień Usuń Podstawowy Jednoznaczny Indeks Pełny tekst
rodzaj varchar(20) latin2_general_ci Nie Przeglądaj różne wartości Zmień Usuń Podstawowy Jednoznaczny Indeks Pełny tekst
miasto varchar(255) latin2_general_ci Nie Przeglądaj różne wartości Zmień Usuń Podstawowy Jednoznaczny Indeks Pełny tekst
dzielnica varchar(255) latin2_general_ci Nie Przeglądaj różne wartości Zmień Usuń Podstawowy Jednoznaczny Indeks Pełny tekst

no i dane
id numer rodzaj miasto dzielnica
5 WD0005 rent Wroclaw sienkiewicza

i nie rozumiem dlaczego zapytanie select * from dom where numer='WD0005' nie wyrzuca mi zadnego rekordu, ani zadne tego typu zapytanie. Dlaczego tak sie dzieje? Na localhoscie gdzie mam MySQL w wersji 3.x.x to normalnie dziala. Cos jest specyficznego w tej wersji MySQLa ktora podaje? Prosze o pomoc.
mysz
Z tego co tu podałeś to nie ma powodu żeby cokolwiek nie działało.
Civil
dokładnie tak, ale mimo to nie działa pomimo iż w starszej wersji mysqla działa. Może chodzi o jakieś porównywanie znaków?
mysz
Podaj dokładnie zapytanie jakim tworzyłeś tabelę, i dokładnie SQL jaki zapodajesz. Jak to czegoś nie rozjaśni, to nikt Ci nic więcej nie pomoże, bo to może być jakiś problem z instalką MySQL.
Civil
nie działa mi to na dwóch serwerach komercyjnych. Zarowno z poziomu php jak z phpmyadmina, po prostu. Kopiuje nawet wartosc zapisana w tabelce w bazie wklejam ja i nic. Mysql error nic nie pokazuje.
luki100011
A próbowałeś z warunkiem
where numer like 'WD0005'
questionmark.gif
mysz
@luki100011: próbować sobie można, to zapytanie powinno działać tak jak jest skonstruowane.

@Civil: założyłem sobie tabelkę:
  1. CREATE TABLE `civil` (
  2. `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `numer` varchar(10) character SET latin2 NOT NULL DEFAULT '',
  4. `rodzaj` varchar(20) character SET latin2 NOT NULL DEFAULT '',
  5. `miasto` varchar(255) character SET latin2 NOT NULL DEFAULT '',
  6. `dzielnica` varchar(255) character SET latin2 NOT NULL DEFAULT '',
  7. PRIMARY KEY (`id`)
  8. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci

zadałem zapytanie:
  1. SELECT * FROM civil WHERE numer='WD0005'

No i jedyne co mogę stwierdzić: SOA#1.
Wersja MySQL: 4.1.18-log.
Civil
wiem co bylo zle, dodawalem te numery do bazy tak:
  1. <?php
  2. $ten_id = 8;
  3. printf("%04sn",$ten_id);
  4. $ten_id = ob_get_contents();
  5. echo $ten_id;
  6. ?>


i pomimo iz byly w niej fizycznie zapisane to baza ich nie widziala w szukaniu. To chyba jakis bug MySQL.

Zamienilem na $numer = str_pad($numer, 4, 0, STR_PAD_LEFT); i jest dobrze.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.