Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [MySQL][PHP]Dziwny wynik prostego zapytania mysql
maraska
post
Post #1





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 9.04.2013

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


Robię w php proste zapytanie mysql do tabeli w której są nazwy miast
  1. $sql_miasta = mysql_query("SELECT miejscowosc FROM `tabela` WHERE (coś tam...) LIMIT 0,14");
  2.  
  3. $res = mysql_fetch_array ($sql_miasta);
  4.  
  5. $results = $res["miejscowosc"];
  6.  
  7. echo $result;
  8.  


Wynik wygląda tak:
  1. Gdynia ttt56064
  2. Wisełka ttt56064
  3. Warszawa ttt56064
  4. Gdańsk ttt56064
  5. SOPOT ttt56064
  6. ...itd


Pytanie, skąd się biorą te "ttt56064" i jak się tego pozbyć.
Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
dublinka
post
Post #2





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


$results czy $result
Go to the top of the page
+Quote Post
maraska
post
Post #3





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 9.04.2013

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


Dziękuję za zainteresowanie

$results.

Wynik wygląda tak
  1. Ostrów WielkopolskiKąty Wrocławskie ttt56064
  2. Gdynia ttt56064
  3. Wisełka ttt56064
  4. Warszawa ttt56064
  5. Gdańsk ttt56064
  6. SOPOT ttt56064
  7. ...itd


Generalnie, chcę doprowadzić do postaci:
  1. Ostrów Wielkopolski, Kąty Wrocławskie, Gdynia, Wisełka ....
Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Samo się to na pewno nie dopisuje. Dumpuj zmienne i zobacz jaki jest wynik.
Ps. Rozszerzenia mysql nie ma w php od lat. Może pora zrobić update?
Go to the top of the page
+Quote Post
maraska
post
Post #5





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 9.04.2013

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


Cytat(viking @ 25.04.2021, 20:00:18 ) *
Samo się to na pewno nie dopisuje. Dumpuj zmienne i zobacz jaki jest wynik.
Ps. Rozszerzenia mysql nie ma w php od lat. Może pora zrobić update?


Dla zapytania sql o dowolne Limit 2, var_dump($res)

wynik:
  1. array(2) { [0]=> string(10) "Pyrzowice " ["miejscowosc"]=> string(10) "Pyrzowice " } Mielno ttt56064

Zawsze pierwszy jest OK a następne z tym "ttt56064" które znaczy błąd tylko czemu?

Ten post edytował maraska 25.04.2021, 19:47:27
Go to the top of the page
+Quote Post
dublinka
post
Post #6





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


Sprawdzales co jest w bazie ?
Go to the top of the page
+Quote Post
maraska
post
Post #7





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 9.04.2013

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


Jasne. W bazie jest OK
Go to the top of the page
+Quote Post
dublinka
post
Post #8





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


To pokaz to wszystko
Go to the top of the page
+Quote Post
maraska
post
Post #9





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 9.04.2013

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


Cytat(dublinka @ 25.04.2021, 20:51:28 ) *
To pokaz to wszystko

Ale co wszystko? (IMG:style_emoticons/default/smile.gif)

Zapytanie jest takie, że prościej się nie da
  1. $sql_miasta = mysql_query("SELECT miejscowosc FROM `tabela` LIMIT 13,2");

Wynik dostaję taki jak pokazałem. W pma miasta są wyświetlane poprawnie.
var_dump pokazuje, że tablica sypie się po pierwszym rekordzie.
Bez względu na to, o które rekordy zapytam (LIMIT 0,2; 100,20 itp.)
  1. array(2) { [0]=> string(6) "Płock" ["miejscowosc"]=> string(6) "Płock" } Zielona Góra ttt56064

Czemu?

Ten post edytował maraska 26.04.2021, 10:12:44
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Pokaz caly kod a nie jakies wyrywki z ktorych nic nie wynika
Go to the top of the page
+Quote Post
Pyton_000
post
Post #11





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


pokaż cały kod który wykonujesz.
Go to the top of the page
+Quote Post
maraska
post
Post #12





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 9.04.2013

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


Cytat(nospor @ 26.04.2021, 11:24:02 ) *
Pokaz caly kod a nie jakies wyrywki z ktorych nic nie wynika


Pokazałem na początku. Nie chodziło więc testuję zapytanie w pliku php w którym nic więcej nie ma
  1. $sql_miasta = mysql_query("SELECT miejscowosc FROM `tabela` LIMIT 13,4");
  2.  
  3. $res = mysql_fetch_array ($sql_miasta);
  4.  
  5. var_dump($res);
  6.  


Wynik - teraz jeszcze inaczej
  1. array(2) { [0]=> string(6) "Płock" ["miejscowosc"]=> string(6) "Płock" }


Wynik w pma:
Płock
Zielona Góra
Chęciny
Gdańsk
Go to the top of the page
+Quote Post
nospor
post
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie, nadal nie pokazalescalego kodu. Kod co pokazujesz wyswietla TYLKO JEDEN rekord, zas marudzisz ze ci sie psuje gdy wyswietlasz wiecej wiec masz gdzies tam petle czy cos takiego....
Go to the top of the page
+Quote Post
maraska
post
Post #14





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 9.04.2013

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




  1. include_once('baza.php'); // Polaczenie z baza
  2.  
  3. $sql_miasta = mysql_query("SELECT `miejscowosc` FROM `tabela` LIMIT 13,4");
  4.  
  5. $res = mysql_fetch_array ($sql_miasta);
  6.  
  7.  
  8.  
  9. $results = $res["miejscowosc"];
  10.  
  11.  
  12. //while ($row = mysql_fetch_assoc($sql_miasta)) {
  13. //echo $row["id"];
  14. // echo $row["miejscowosc"];
  15. //}
  16.  
  17. echo '<br><br>';
  18.  
  19. //echo $results;
  20. var_dump($res);
  21. //print_r($sql_miasta, false);


Ten post edytował maraska 26.04.2021, 11:04:08
Go to the top of the page
+Quote Post
nospor
post
Post #15





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ostatni raz:
kod co tu pokazujesz nie generuje bledu o ktorym mowisz. Wiec powtorz blad i od razu jak powtorzysz, pokaz dokladnie kod ktory go wygenerowal. Bo zakladam ze zadnego ajaxa wywolywanego x razy tutaj nie masz.
Go to the top of the page
+Quote Post
maraska
post
Post #16





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 9.04.2013

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


Jak pisałem, robię to w pliku testowym tylko dla testu tego jednego zapytania. Więc tam nic więcej nie ma.
wynik działania tego co pokazałem:
  1. array(2) { [0]=> string(6) "Płock" ["miejscowosc"]=> string(6) "Płock" }


Ciekawe, że wcześniej były inne wyniki.
Nie mogę niestety teraz zrestartować silnika bazy.
Go to the top of the page
+Quote Post
nospor
post
Post #17





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Znaczy sie teraz wszystko dziala (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
maraska
post
Post #18





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 9.04.2013

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


No, nie działa. Pytam o 4 rekordy a dostaję jeden.
Wcześniej przy takim zapytaniu był pierwszy prawidłowy i 3 kolejne w postaci sama nazwa i krzaki, np. "Zielona Góra ttt56064"
Go to the top of the page
+Quote Post
nospor
post
Post #19





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No bo wywaliles petle to logiczne ze dostajesz tylko jeden....
Go to the top of the page
+Quote Post
Pyton_000
post
Post #20





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Albo inaczej... Poczytaj sobie w dokumentacji co robi https://www.php.net/mysql_fetch_array

Ten post edytował Pyton_000 26.04.2021, 11:49:49
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 16:04