Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] problem z avg
jarmiar
post
Post #1





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


Witam

Mam taki problem

Rbię takie zapytanie do mysql'a w php

  1. <?php
  2. $zapytanie = "SELECT avg(`ocena`) FROM `arty_oceny` WHERE `id_artu`='".$id."'";
  3. $zapytanie = mysql_query($zapytanie);
  4. ?>


Jeśli robię to za pomocą php to mysql zwraca mi błąd:

Something is wrong in your syntax obok '1' w linii 1

A jeżeli robię to zapytanie w phpMyAdmin to wszystko wykonuje się dobrze.

Co jest źle w moim zapytaniu w php, że nie działa?

Ten post edytował jarmiar 25.02.2008, 11:09:53
Go to the top of the page
+Quote Post
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


id_artu to text czy liczba?
Jeśli liczba to nie ma potrzeby dawać apostrofów. Może to pomoże?
Go to the top of the page
+Quote Post
jarmiar
post
Post #3





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


id_artu to liczba (int), usunąłem apostrofy, jednak problem nadal się pojawia
Go to the top of the page
+Quote Post
mike
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Zacznijmy od tego czy próbowałeś wyświetlić zapytanie wygenerowane przez PHP? A później to skopiować do phpMyAdmina.
Go to the top of the page
+Quote Post
jarmiar
post
Post #5





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


Znaczy się tak:

Po tym zapytaniu wyciągam średnią ocen za pomocą pętli while(), ale wcześniej sprawdzam warunkiem czy zapytanie jest poprawne.

A dopiero potem skopiowałem to zapytanie do phpMyAdmina i okazało się że działa. Z tym że zamiast zmiennej $id podstawiłem liczbę w apostrofach 1.

To samo potem próbowałem w php (bez zmiennej $id, lkecz samą liczbę 1)

NAdal nie działa :/
Go to the top of the page
+Quote Post
mike
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Nie wstawiaj nic sam. Wklej dokładnie to co wygeneruje PHP.
  1. <?php
  2. echo $zapytanie = "SELECT avg(`ocena`) FROM `arty_oceny` WHERE `id_artu`=".$id;
  3. $zapytanie = mysql_query($zapytanie);
  4. ?>

Masz wkleić do phpMyAdmina to co wywali CI echo();
Go to the top of the page
+Quote Post
jarmiar
post
Post #7





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


Oczywiście tak zrobiłem i z phpMyAdminie zrwaca mi aktualną średnią ocen. A w php jak wykonuje to zapytanie to wywali mi ten błąd
Go to the top of the page
+Quote Post
mike
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Doświadczenia z Tobą każą mi powiedzieć: wklej tutaj dokładnie to co dostałeś z echo() przy kodzie takim jak mój powyżej.
Go to the top of the page
+Quote Post
jarmiar
post
Post #9





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


Kod
SELECT avg( ocena ) FROM `arty_oceny` WHERE id_artu = 1


wstawiałem także z avg(`ocena`) i też się wykonywało. a w php nie chce

No błagam pomóżcie mi

Ten post edytował jarmiar 25.02.2008, 12:02:58
Go to the top of the page
+Quote Post
nevt
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


w moim manualu MySQL funkcja AVG(), jest opisana jako wymagająca zastosowania klauzuli GROUP BY, co prawda sprawdzałem twoje zapytanie w MySQL Query Browserze i działa, ale nie zaszkodzi spróbować z PHP takiej wersji::
  1. <?php
  2. $zapytanie = "SELECT AVG(`ocena`) FROM `arty_oceny` WHERE `id_artu`=$id GROUP BY `id_artu`;";
  3. ?>
Go to the top of the page
+Quote Post

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 - 05:16