Nie wszystkie dane są pobierane z bazy MySQL

Odpowiedz Nowy wątek
2018-11-29 17:07
0

Cześć ! Mam problem z tym skryptem:

<?php 
require "connect.php";
 
$product_name = addslashes($_POST["product_name"]);
 
$qry = "SELECT * FROM `produkty` WHERE `Nazwa` LIKE '%$product_name%';";
$result = mysqli_query($conn ,$qry);
 
$rows = array();
while($data = $result->fetch_array())
{
    $rows["lajt"][] = $data;
}
print json_encode($rows);
 
?>

Używam tego skryptu do pobierania danych z bazy MySQL do aplikacji na Android-a ( projekt sklepu internetowego )
Wszystko jest dobrze jeśli wpisuje w aplikacji rower do wyszukania.

Wtedy wszystko się ładnie pobiera, ale gdy wpiszę kuchenka to już żadnego JSON-a nie ma.
To samo jest jak wpiszę piłka.

Wiedziałby ktoś dlaczego tak jest i jak to naprawić ?

P.S w załączniku jest tabela z bazy danych

Pozostało 580 znaków

2018-11-29 17:26
0

A jakie kodowanie masz w tabeli?
Albo zmień kodowanie na takie które masz sufiks _ci (case insensitive) albo używaj funkcji STRTOLOWER (Czy jakoś tak, zamienia litery w stringu na małe) na polu po którym szukasz.

Aby sprawdzić czy to jest faktyczną przyczyną, sprawdz po prostu czy znajdzie Ci jeśli wpiszesz pierwsza wielka literę. Kuchenka/Piłka

edytowany 1x, ostatnio: axelbest, 2018-11-29 17:28

Pozostało 580 znaków

2018-11-29 17:32
0

Jeśli wpisuje duże litery to też jest problem.
A w bazie danych metoda porównywania napisów to utf8_unicode_ci ( i w bazie i w tabeli )

Pozostało 580 znaków

2018-11-29 19:12
0

No to problem tkwi w kodzie php :)

a3.PNG

a2.PNG

a1.PNG


Może nie z tej bazy pobierasz dane? ;) a to zdarza się nawet najlepszym.

  • a1.PNG (0,01 MB) - ściągnięć: 2
  • a2.PNG (0 MB) - ściągnięć: 2
  • a3.PNG (0,02 MB) - ściągnięć: 2
edytowany 1x, ostatnio: axelbest, 2018-11-29 19:13

Pozostało 580 znaków

2018-11-29 19:23
0

Pobieram z dobrej bazy. Jak inaczej by pobierało wszystkie informacje o tym rowerze? Inne tabele nie zawierają informacji o produktach.

Pozostało 580 znaków

2018-11-29 20:04
0

A robiłeś echo przy zmiennej $qry? (niekoniecznie echo... możesz użyć np debuggera do sprawdzenia wartości tej zmiennej) Jaką wartość ma ta zmienna po wstawieniu tam parametru $product_name? Wiem, że to proste i można podstawić to w głowie, ale może właśnie tu tkwi błąd. Jak zobaczysz jak wygląda takie zapytanie w kodzie, odpal je potem np w phpmyadminie (po prostu bezpośrednio w bazie danych) i zobacz jakie masz wyniki.

edytowany 2x, ostatnio: axelbest, 2018-11-29 20:05

Pozostało 580 znaków

2018-11-29 21:38
0

Wpisałem to w PHPMyAdmin:

SELECT * FROM `produkty` WHERE `Nazwa` LIKE '%Kuchenka%'

i wszystko się ładnie pokazuje.
A w przeglądarce nic.

edytowany 1x, ostatnio: Adrian098741, 2018-11-30 15:09

Pozostało 580 znaków

2018-12-06 15:37
1

Potestuj jeszcze:

Pozostało 580 znaków

2018-12-06 15:55
0

Już działa, dzięki !

Daj znać w czym tkwił problem! ;) - arczinosek 2018-12-11 01:21

Pozostało 580 znaków

2018-12-06 15:57
0

A spróbuj może z PDO i bindowaniem paramterów: http://phpmajster.blogspot.co[...]do-podstawy-3-bindowanie.html


Kto nigdy nie zrobił var dupa niech pierwszy rzuci kamień.

Pozostało 580 znaków

2018-12-11 07:17
0

Zmieniłem bazę z tej od XAMPP-a na tą z oficjalne strony MySQL i jest wszytko ok.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0