Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ [MySQL][PHP]Dziwny wynik prostego zapytania mysql

Napisany przez: maraska 25.04.2021, 16:50:57

Robię w php proste zapytanie mysql do tabeli w której są nazwy miast

  1. $sql_miasta = http://www.php.net/mysql_query("SELECT miejscowosc FROM `tabela` WHERE (coś tam...) LIMIT 0,14");
  2.  
  3. $res = http://www.php.net/mysql_fetch_array ($sql_miasta);
  4.  
  5. $results = $res["miejscowosc"];
  6.  
  7. http://www.php.net/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.

Napisany przez: dublinka 25.04.2021, 16:54:19

$results czy $result

Napisany przez: maraska 25.04.2021, 17:12:46

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 ....

Napisany przez: viking 25.04.2021, 19: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?

Napisany przez: maraska 25.04.2021, 19:33:18

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. http://www.php.net/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?

Napisany przez: dublinka 25.04.2021, 19:42:39

Sprawdzales co jest w bazie ?

Napisany przez: maraska 25.04.2021, 19:50:31

Jasne. W bazie jest OK

Napisany przez: dublinka 25.04.2021, 19:51:28

To pokaz to wszystko

Napisany przez: maraska 26.04.2021, 10:09:28

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

Ale co wszystko? smile.gif

Zapytanie jest takie, że prościej się nie da
  1. $sql_miasta = http://www.php.net/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. http://www.php.net/array(2) { [0]=> string(6) "Płock" ["miejscowosc"]=> string(6) "Płock" } Zielona Góra ttt56064

Czemu?

Napisany przez: nospor 26.04.2021, 10:24:02

Pokaz caly kod a nie jakies wyrywki z ktorych nic nie wynika

Napisany przez: Pyton_000 26.04.2021, 10:25:51

pokaż cały kod który wykonujesz.

Napisany przez: maraska 26.04.2021, 10:48:26

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 = http://www.php.net/mysql_query("SELECT miejscowosc FROM `tabela` LIMIT 13,4");
  2.  
  3. $res = http://www.php.net/mysql_fetch_array ($sql_miasta);
  4.  
  5. http://www.php.net/var_dump($res);
  6.  


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


Wynik w pma:
Płock
Zielona Góra
Chęciny
Gdańsk

Napisany przez: nospor 26.04.2021, 10:52:12

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....

Napisany przez: maraska 26.04.2021, 11:02:28



  1. include_once('baza.php'); // Polaczenie z baza
  2.  
  3. $sql_miasta = http://www.php.net/mysql_query("SELECT `miejscowosc` FROM `tabela` LIMIT 13,4");
  4.  
  5. $res = http://www.php.net/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. http://www.php.net/echo '<br><br>';
  18.  
  19. //echo $results;
  20. http://www.php.net/var_dump($res);
  21. //print_r($sql_miasta, false);

Napisany przez: nospor 26.04.2021, 11:13:12

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.

Napisany przez: maraska 26.04.2021, 11:35:15

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. http://www.php.net/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.

Napisany przez: nospor 26.04.2021, 11:37:22

Znaczy sie teraz wszystko dziala smile.gif

Napisany przez: maraska 26.04.2021, 11:43:32

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"

Napisany przez: nospor 26.04.2021, 11:45:29

No bo wywaliles petle to logiczne ze dostajesz tylko jeden....

Napisany przez: Pyton_000 26.04.2021, 11:47:30

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

Napisany przez: maraska 28.04.2021, 10:19:59

"A bo mnie zmyliły" smile.gif

Może komuś się przyda:

  1. $str = '';
  2. while ($row = http://www.php.net/mysql_fetch_array($sql_miasta)){
  3.  
  4. $str .= ((http://www.php.net/strlen($str) > 0) ? "\n" : '') . $row['miejscowosc'] . ', ';
  5. }
  6.  
  7. http://www.php.net/echo $str ;
  8.  
  9. //Wynik: Pyrzowice , Mielno , Warszawa, Świeradów Zdrój, Bolków,

Dziękuję wszystkim

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)