Błąd w skrypcie php z select count


(stanek.94) #1

Witam. Mam taki skrypt, “$lacz” to funckcja łącząca z bazą i wykonująca polecenia

$lacz = lacz_bd();

$zapytanie = "SELECT count(*) FROM kupione WHERE idklienta='".$klient->idklienta."'";

			$wynik = $lacz->query($zapytanie);

			$kupione = $wynik->fetch_object();

			$kupione = get_object_vars($kupione);

			echo $kupione['count(*)'];

Jednak coś źle zlicza ilość kupionych , zawsze wypisuje 0. Czy jest tu jakiś błąd?


(Konrad Kosowski) #2
$lacz = lacz_bd();

$zapytanie = "SELECT count(*) as `ile` FROM kupione WHERE idklienta='".$klient->idklienta."'";

         $wynik = $lacz->query($zapytanie);

         $kupione = $wynik->fetch_object();

         echo $kupione->ile;

Ale dla pewności, że to nie wina po stronie bazy danych (czyli dane zwracane przez PHP są poprawne) to wrzuć sobie to zapytanie z do bazy.


(stanek.94) #3

Tak baza wypisuje po “SELECT count(*) as ile FROM kupione WHERE idklienta='tu jakies id”; ilośc zakupionych, lecz potem wszystko powinno zwracać ilosc kupionych lecz tak sie nie dzieje


(Drobok) #4

A co masz w polu idklienta ?


(Konrad Kosowski) #5

Zrób sobie jeszcze tak:

$lacz = lacz_bd();

    $zapytanie = "SELECT count(*) as `ile` FROM kupione WHERE idklienta='".$klient->idklienta."'";

echo $zapytanie;

die();

             $wynik = $lacz->query($zapytanie);

             $kupione = $wynik->fetch_object();

             echo $kupione->ile;

I sprawdź jakie idzie query. Potem (o ile na pierwszy rzut oka nie będzie niepoprawne), wrzuć do bezpośrednio do bazy (na przykład przez mysql workbench, jesli baza to mysql) i sprawdź jaki wynik dostajesz. Jeśli uważasz, że za każdym razem jest ok - wrzuć to query na forum.